OLEDB Anweisung aus Variable

Hallo zusammen

Bin gerade daran ein kleines Kundenverwaltungstool zu schreiben.

Nun stehe ich bei einem Punkt an und komme einfach nicht weiter. Hoffe ihr könnt mir weiterhelfen. Ich danke Euch schon im Voraus...

Mein Problem:

Ich habe ein Windows Form mit C# erstellt. Eine Datenbank wird ausgelesen und die Daten in verschiedene Textboxen geschrieben. Nun wollte ich eine Update Anweisung einbauen, die leider nicht funktioniert.

Das ist die Zeile, die nicht funktioniert:
string SQL = "UPDATE Firma SET Firmennamen =@Firmennamen WHERE F_ID='"+ID+"'";

Es erscheint jedes mal der Fehler: Datentypen in Kriterienausdruck unverträglich.

Die ID ist ein double und in der Access DB hat die Spalte F_ID auch einen double Wert definiert.

Wenn ich die Code Zeile so ausführe:
string SQL = "UPDATE Firma SET Firmennamen =@Firmennamen WHERE F_ID=1";

funktioniert das ganze ohne Probleme...

Hoffe ihr könnt mir helfen... Bin am verzweifeln....

Gruss
 
Hallo

Bei Zahlenfeldern dürfen keine Hochkommas benutzt werden.
Code:
"UPDATE Firma SET Firmennamen =@Firmennamen WHERE F_ID = " & ID

Bei Stringfeldern:
Code:
"UPDATE Firma SET Firmennamen =@Firmennamen WHERE F_ID = '" & ID & "'"
 
Bitte immer mit Parametern arbeiten. Auf die gezeigte Variante (bezüglich ID) geht das sehr schnell mit einer SQL Injection in die Hose.
 
Zurück