ExecSql

Erlaubt dasAusführen von SQL-Befehlen(INSERT/UPDATE).

Prototype


int ExecSql(SQL)

Parameter


Parameter

Beschreibung

SQLSQL-Befehl (INSERT oder UPDATE) der ausgeführt werden soll (Zeichenkette oder Merkmalsname)

Rückgabewert


Wenn der SQL-Befehl leer war, dann wird 100 (SQL-Code für 'No Matching Records') zurückgegeben. Ansonsten der SQL-Code des ausgeführten Befehls. Häufige Rückgabewerte sind:

SQL-CodeBedeutungGrund
0OKAlles Gut - Befehl erfolgreich ausgeführt.
-201A syntax error has occurred.Es befindet sich ein Fehler im SQL-Befehl. Oft wurden Zeichenketten nicht mit Quote-Zeichen geklammert.
-236Number of columns in INSERT does not match number of VALUES.Die Anzahl der angegeben Spalten (beim INSERT) stimmt nicht mit der tatsächlichen Anzahl Spalten in der Tabelle überein.
-239Could not insert new row - duplicate value in a UNIQUE INDEX column.Es ist bereits ein Datensatz mit den angegeben Schlüssel-Feldern in der Tabelle vorhanden.
-282Found a quote for which there is no matching quote.Es befindet sich ein Fehler im SQL-Befehl. Irgendwo wird eine Zeichenkette mit einem Single- (') oder Double-Quote-Zeichen (") begonnen aber nicht mit einem weiteren Zeichen abgeschlossen.
-1213/-1349Character to numeric conversion error.Es wurde eine Zeichenkette für ein numerisches Feld zu übergeben. Der Versuch der Datenbank die Zeichenkette in eine Zahl umzuwandeln schlug fehl.

Hinweise


  • Wenn TRACE aktiviert ist, wird er ausgeführte SQL-Befehl in die Protokoll-Datei geschrieben. Dies geschieht bevor er ausgeführt wird, d.h. selbst bei einem Programmabruch mit Dr.Syslog sollte hinterher der Befehl hinterher im Protokoll zu finden sein.