English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Libreria Database
  • Libreria Standard
  • Funzioni Client

SQL Query

funzione copia link

Scopo

Esegue una query SQL restituendo un recordset con i dati trovati. Può essere utilizzata per eseguire query SQL sul database creando il codice SQL direttamente da programma.

Sintassi

Recordset r = null
// 
r := Database.SQLQuery(query)

Argomenti

Query Testo SQL della query da eseguire

Valore di ritorno

Viene ritornato un oggetto Recordset che contiene il risultato della query.

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
    {
      Recordset recorset = null // 
      // 
      // Imposto il numero massimo di righe ed eseguo la query

      NorthwindDB.MaxRows := Query.MaxRows
      recorset := NorthwindDB.SQLQuery(Query.Query)
      // 
      // Se la query non ha restituito nessun record

      if recorset.RecordCount() = ZERO
      {
         Risultati.SelectPage(Messaggi.Me())
         Messaggio.Messaggio := MSG Nessun Record
         Tabella.Visible := False
      }
      else  // La query ha restituito almeno un record
      {
         int f = 0               // 
         IDPanel pannello = null // 
         // 
         // Mostro la pagina del risultato tabellare

         Tabella.Visible := True
         Risultati.SelectPage(Tabella.Me())
         Messaggio.Messaggio := Empty String
         // 
         recorset.MoveFirst()
         while NOT(recorset.EOF())
           ...
         pannello := Tabella.IDPanel()
         // 
         f := ZERO
         while f < pannello.FieldsCount()
           ...
      }
    }
    else  // Se è stato richiesto uno statement non query
      ...
  }
  catch  // L'esecuzione non è andata a buon bine
    ...
}
  • Per comporre la query SQL inserendo dei valori ottenuti dall'utente, è obbligatorio utilizzare la funzione ToSQL, per evitare problemi di sicurezza.
  • 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: 24/03/2021 / Validità: da 7.0.3200

Vedi Anche

  • To SQL (funzione)
  • SQL Execute (procedura)
  • Recordset

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum