Erlaubt das Ausführen von SQL-Befehlen (INSERT/UPDATE).
Prototype
int ExecSql(SQL)
Parameter
Parameter
Beschreibung
SQL
SQL-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-Code
Bedeutung
Grund
0
OK
Alles Gut - Befehl erfolgreich ausgeführt.
-201
A syntax error has occurred.
Es befindet sich ein Fehler im SQL-Befehl. Oft wurden Zeichenketten nicht mit Quote-Zeichen geklammert.
-236
Number 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.
-239
Could 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.
-282
Found 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/-1349
Character 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.