Scopo
Esegue una query tramite PreparedStatement. In genere è consigliato l'utilizzo di PreparedStatement quando una query deve essere eseguita ripetutamente con parametri diversi. In tal caso si ha un guadagno in termini di tempo di esecuzione crescente al crescere del numero di esecuzioni. Se il numero di esecuzioni è basso, è più semplice usare SQLQuery.
Sintassi
Recordset rs = null
//
rs := Database.CommandQuery(prepared statement)
//
rs := Database.CommandQuery(prepared statement)
Argomenti
Prepared Statement | Rappresenta un oggetto di tipo PreparedStatement che specifica la query da eseguire ed i parametri |
Valore di ritorno
Viene ritornato un oggetto di tipo Recordset che contiene il risultato della query.
Esempio
// ****************************************************************************
// Carica i prodotti mediante Prepared Statement, permettendo all'utente di
// specificare il numero massimo di prodotti letti.
// ****************************************************************************
public void ProdottiRecordset.CaricadaPreparedStatement()
{
int Massimo = -1 // Numero massimo di righe da leggere
//
// Chiedo all'utente quante righe vuole caricare
Massimo := ToInteger(InputBox(Quante righe si vogliono leggere?))
if Massimo >= ZERO
{
PreparedStatement ps = new() // Prepared Statement per la lettura
//
// Assegno il comando
ps.SetCommand(select * from prodotti)
//
// Imposto il massimo numero di righe
ps.MaxRows := Massimo
//
// Eseguo la query e metto i dati nel pannello
this.Rs := NorthwindDB.CommandQuery(ps)
this.IMDBfromRecordset()
}
}
// Carica i prodotti mediante Prepared Statement, permettendo all'utente di
// specificare il numero massimo di prodotti letti.
// ****************************************************************************
public void ProdottiRecordset.CaricadaPreparedStatement()
{
int Massimo = -1 // Numero massimo di righe da leggere
//
// Chiedo all'utente quante righe vuole caricare
Massimo := ToInteger(InputBox(Quante righe si vogliono leggere?))
if Massimo >= ZERO
{
PreparedStatement ps = new() // Prepared Statement per la lettura
//
// Assegno il comando
ps.SetCommand(select * from prodotti)
//
// Imposto il massimo numero di righe
ps.MaxRows := Massimo
//
// Eseguo la query e metto i dati nel pannello
this.Rs := NorthwindDB.CommandQuery(ps)
this.IMDBfromRecordset()
}
}
- Per sfruttare dei vantaggi offerti dai PreparedStatement occorre riutilizzare sempre la stessa istanza ad ogni iterazione.
- L'oggetto PreparedStatement deve essere inizializzato sia come testo della query che come parametri.
Ultima modifica: 02/11/2016 / Validità: da 7.0.3200