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

Offending Command

proprietà copia link

Scopo

Restituisce il testo SQL dell'operazione che ha generato un errore sul database. La proprietà OffendingCommand viene valorizzata solo nei seguenti casi:

  • L'apertura di una nuova connessione tramite la procedura OpenConnection.
  • La chiamata di una StoredProcedure sul database.

Sintassi

string Comando = "" // Comando SQL che ha generato l'errore
// 
Comando := Database.OffendingCommand

Quando letta

Restituisce il testo SQL dell'ultima operazione, tra quelle elencate nel paragrafo Scopo, che ha causato un errore. I possibili valori della proprietà sono: la stringa "OPEN" nel caso di errore durante la OpenConnection, il nome della stored procedure qualora quest'ultima causi un errore durante la sua esecuzione, il testo della query SQL che ha generato l'errore nel caso di stored procedure eseguita lato client (vedi il flag CompilaLatoClient nella videata delle proprietà della Stored Procedure).

Quando scritta

L'operazione di scrittura ha l'unico effetto di modificare il valore della proprietà ma non ha effetto sul comportamento del sistema.

Esempio di codice

// ******************************
// Esegue una query errata sul db
// ******************************

public void ErroriDB.EseguiQuery()
{
  // Svuoto i campi a video
  Dati.TestoErrore := Null String
  Dati.NumeroErrore := Null Number
  Dati.OffendingCommand := Null String
  // 
  // Svuoto gli errori del database

  NorthwindDB.ClearErrors()
  // 
  // Apro una nuova connessione... il DB non si trova in E: quindi l'operazione
  // dà errore

  NorthwindDB.OpenConnection(Empty String, Empty String, Provider=Micros-
    oft.Jet.OLEDB.4.0;Data Source=E:\\nwind.mdb;Persist Security Info=False)
  // 
  // La Open Connection non genera eccezioni. Qualora ci sia un errore viene
  // valorizzata la variabile Error Message.
  // In questo caso leggo l'errore e lo mostro a video

  if NorthwindDB.ErrorMessage <> Empty String
  {
    Dati.TestoErrore := NorthwindDB.ErrorMessage
    Dati.NumeroErrore := NorthwindDB.ErrorNumber
    Dati.OffendingCommand := NorthwindDB.OffendingCommand
  }
}
  • La procedura ClearErrors viene sempre chiamata dal sistema al momento dell'apertura di una connessione al database. Quindi non è possibile ottenere informazioni riguardo gli errori ottenuti in richieste HTTP precedenti a quella attualmente servita dato che il sistema chiude sempre tutte le connessioni dopo aver inviato l'HTML al browser.

Ultima modifica: 25/10/2016 / Validità: da 7.1.3300

Vedi Anche

  • Error Message (proprietà)
  • Error Number (proprietà)
  • Open Connection (procedura)
  • Clear Errors (procedura)

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum