ExecSql
- lk
- hjk
Owned by lk
Erlaubt dasAusfü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.