Scopo
Applica tutte le sostituzioni attive all'istruzione SQL passata come parametro e ritorna il risultato.
Sintassi
string s = ""
//
s := Database.ApplyQuerySubstitutions(testo sql)
//
s := Database.ApplyQuerySubstitutions(testo sql)
Argomenti
Testo SQL | Testo SQL al quale applicare le sostituzioni |
Valore di ritorno
Viene ritornata una stringa contenente il testo SQL passato in input a cui sono state applicate le sostituzioni.
Esempio
// ***************
// Esegue la query
// ***************
public void QueryAnalyzer.Esegui()
{
// Imposto il tempo di timeout di esecuzione
NorthwindDB.Timeout := Dati.Timeout
//
// Applico tutte le sostituzioni
NorthwindDB.ClearQuerySubstitutions()
for each row
{
select
StringaDaCercareSostituzione := StringaDaCercare
ValoreDaInserireSostituzione := ValoreDaInserire
from
Sostituzioni // Tabella Master
//
record Sostituzione
string StringaDaCercare //
string ValoreDaInserire //
//
NorthwindDB.AddQuerySubstitution(Sostituzioni.StringaDaCercareSostituzione, Sostituzioni.
ValoreDaInserireSostituzione)
}
//
// Svuoto il risultato precedente
delete from Risultato
//
// Provo ad eseguire l'istruzione SQL
try
{
// Se è stata richiesta una query
if Lower(Left(TrimLeft(Dati.Testo), C6)) = select
...
else // Se è stato richiesto uno statement non query
{
NorthwindDB.SQLExecute(NorthwindDB.ApplyQuerySubstitutions(Dati.Testo))
//
Risultati.SelectPage(Messaggi.Me())
Tabella.Visible := False
}
}
catch // L'esecuzione non è andata a buon fine
...
}
// Esegue la query
// ***************
public void QueryAnalyzer.Esegui()
{
// Imposto il tempo di timeout di esecuzione
NorthwindDB.Timeout := Dati.Timeout
//
// Applico tutte le sostituzioni
NorthwindDB.ClearQuerySubstitutions()
for each row
{
select
StringaDaCercareSostituzione := StringaDaCercare
ValoreDaInserireSostituzione := ValoreDaInserire
from
Sostituzioni // Tabella Master
//
record Sostituzione
string StringaDaCercare //
string ValoreDaInserire //
//
NorthwindDB.AddQuerySubstitution(Sostituzioni.StringaDaCercareSostituzione, Sostituzioni.
ValoreDaInserireSostituzione)
}
//
// Svuoto il risultato precedente
delete from Risultato
//
// Provo ad eseguire l'istruzione SQL
try
{
// Se è stata richiesta una query
if Lower(Left(TrimLeft(Dati.Testo), C6)) = select
...
else // Se è stato richiesto uno statement non query
{
NorthwindDB.SQLExecute(NorthwindDB.ApplyQuerySubstitutions(Dati.Testo))
//
Risultati.SelectPage(Messaggi.Me())
Tabella.Visible := False
}
}
catch // L'esecuzione non è andata a buon fine
...
}
- Questa funzione deve essere utilizzata solo in caso di query tramite PreparedStatement, in tutti gli altri casi il framework si occupa di applicare le sostituzioni in automatico.
Ultima modifica: 23/03/2021 / Validità: da 7.0.3200