2016-06-29 14 views
1

Ich kann nicht herausfinden, warum dies mir einen Syntaxfehler gibt, wenn ich versuche, dies zu aktualisieren?C# OleDb SQL Update Syntaxfehler

string editComp = "UPDATE Competitive SET (PartNumber, Location, Description) values (@Edpart, @Edlocation, @Eddescrip) where SerialNumber = @serial"; 
command.CommandText = editComp; 
command.Parameters.Add("@serial", OleDbType.VarChar).Value = Serialtext.Text; 
command.Parameters.Add("@Edpart", OleDbType.VarChar).Value = Parttext.Text; 
command.Parameters.Add("@Edlocation", OleDbType.VarChar).Value = cboLocation.Text; 
command.Parameters.Add("@Eddescrip", OleDbType.VarChar).Value = Descriptiontext.Text; 
command.ExecuteNonQuery(); 
MessageBox.Show("Successfully Updated"); 
+0

ersetzt Welche Datenbank Sie verwenden? – SLaks

+0

Microsoft Access – CamlCase

Antwort

2

Sie versuchen, eine Aktualisierungsabfrage mit der Syntax einer Einfügung auszuführen. Verwenden Sie die korrekte Syntax für UPDATE wie folgt;

string editComp = "UPDATE Competitive SET [email protected], [email protected], [email protected]"; 

Wenn der obige Code nicht funktioniert, dann versuchen @Edlocation, @Eddescrip und @Edpart mit ?

+0

Nun, ich habe zu den oben genannten geändert und dies bis zum Ende hinzugefügt - WHERE SerialNumber = @ serial. Es heißt, es wurde aktualisiert, aber es wird nicht aktualisiert. – CamlCase

+0

Die add, delete Statements, die ich eingefügt habe, funktionieren gut mit "@". – CamlCase

+0

umschließen Sie die Anweisungen innerhalb eines Versuches und prüfen Sie, ob irgendeine Ausnahme kommt –