Hallo

,
ich habe ein Problem mit einem Insert.
Folgender Code funktioniert:
Delphi-Quellcode:
FQuery.SQL.Text := 'INSERT INTO TEST_ZV.dbo.Tool (Name) VALUES (:_Name);';
FQuery.ParamByName('_Name').AsString := Name;
FQuery.Prepare; // <== nach Params...
FQuery.Execute;
Folgendes funktioniert nicht:
Delphi-Quellcode:
FQuery.SQL.Text := 'INSERT INTO TEST_ZV.dbo.Tool (Name) VALUES (:_Name);';
FQuery.Prepare; // <== vorParams...
FQuery.ParamByName('_Name').AsString := Name;
FQuery.Execute;
Beim Insert bekomme ich diese Fehlermeldung:
Code:
---------------------------
Benachrichtigung über Debugger-
Exception
---------------------------
Im Projekt TESTZV.exe ist eine
Exception der Klasse EMSError mit der Meldung 'Anweisung(en) konnte(n) nicht vorbereitet werden.
Die implizite Konvertierung vom sql_variant-Datentyp in nchar ist nicht zulässig. Verwenden Sie die CONVERT-Funktion, um diese Abfrage auszuführen.' aufgetreten.
---------------------------
Anhalten Fortsetzen Hilfe
---------------------------
Wie kann ich dem an der Stelle den Datentyp mitgeben? Wenn ich später mehrere Einträge machen möchte, dann muss ich das Prepare ja vor der Parameterübergabe aufrufen. Mit anderen Datentypen (integer, double) funktioniert es.
Danke schon mal.
Marc
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt, die 10. summt die Melodie von Tetris... | Wenn das die Lösung ist, dann hätte ich gerne mein Problem zurück! |
engbarth.es