Scopo
Esegue un comando SQL senza ritornare risultati. Può essere utilizzata per eseguire comandi SQL sul database creando il codice SQL direttamente da programma.
Sintassi
Database.SQLExecute(comando)
Argomenti
Comando | Codice SQL del comando da eseguire |
Esempio di codice
// ***************
// Esegue la query
// ***************
public void QueryAnalyzer.Esegui()
{
// Imposto il tempo di timeout di esecuzione
NorthwindDB.Timeout := Query.Timeout
//
// Svuoto il risultato precedente
delete from Risultato
//
try
{
// Se è stata richiesta una query
if Lower(Left(TrimLeft(Query.Query), C6)) = select
...
else // Se è stato richiesto uno statement non query
{
NorthwindDB.SQLExecute(Query.Query)
//
Risultati.SelectPage(Messaggi.Me())
Tabella.Visible := False
}
}
catch // L'esecuzione non è andata a buon fine
{
Messaggio.Messaggio := ErrorMessage()
//
Risultati.SelectPage(Messaggi.Me())
Tabella.Visible := False
}
}
// Esegue la query
// ***************
public void QueryAnalyzer.Esegui()
{
// Imposto il tempo di timeout di esecuzione
NorthwindDB.Timeout := Query.Timeout
//
// Svuoto il risultato precedente
delete from Risultato
//
try
{
// Se è stata richiesta una query
if Lower(Left(TrimLeft(Query.Query), C6)) = select
...
else // Se è stato richiesto uno statement non query
{
NorthwindDB.SQLExecute(Query.Query)
//
Risultati.SelectPage(Messaggi.Me())
Tabella.Visible := False
}
}
catch // L'esecuzione non è andata a buon fine
{
Messaggio.Messaggio := ErrorMessage()
//
Risultati.SelectPage(Messaggi.Me())
Tabella.Visible := False
}
}
- Per comporre la query SQL inserendo dei valori ottenuti dall'utente, è obbligatorio utilizzare la funzione ToSQL, per evitare problemi di sicurezza.
- Se è necessario comporre una serie di comandi di inserimento o modifica, considera l'uso di un PreparedStatement.
- L'uso di questo comando impedisce l'adattamento automatico della query al database eseguito da IN.DE durante le modifiche al progetto, quindi deve essere usato solo se necessario.
Ultima modifica: 25/10/2016 / Validità: da 7.0.3200