2012-03-30 6 views
0

Ich kann nicht herausfinden, warum diese einfache Update-Befehl wird nicht funktionieren:Simple SqlCEC-Befehl wird nicht funktionieren. Warum?

 private void button1_Click(object sender, EventArgs e) 
    { 
     SqlCeCommand cmd = new SqlCeCommand("UPDATE tbl_Settings set password = '1234')", conn); 
     try 
     { 
      cmd.ExecuteNonQuery(); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message.ToString()); 
     } 
    } 

Fehlermeldung: There was an error parsing the query. [ Token line number = 1,Token line offset = 42,Token in error =) ]

.

Meine wählen und Befehle einfügen funktioniert einwandfrei:

SqlCeCommand cmd = new SqlCeCommand("SELECT password FROM tbl_Settings", conn); 
     string password = cmd.ExecuteScalar().ToString(); 

Antwort

6

Sie etwas in Ihrer Anfrage falsch schließenden Klammer gesetzt haben, entfernen Sie diese zuerst.

Schreiben Sie Ihre Abfrage wie unten

SqlCeCommand cmd = new SqlCeCommand("UPDATE tbl_Settings set password = @pwd", conn); 
    cmd.Parameters.AddWithValue("@pwd","1234"); 
+0

Oh mein .. Im so blind .. Vielen Dank. Lustig, wie blind man ist, wenn man denselben Code zu lange betrachtet. BTW. Was nutzt das Parameter.AddWithValue - Ding? Es funktioniert genauso gut mit 'set password = '1234''? Mit freundlichen Grüßen – user1281991

+0

Es heißt Sql-Injektion verhindern. Verweisen Sie auf irgendwelche Verbindungen über, was Sql-Einspritzung ist, Sie werden das erfahren. –

+0

Danke nochmals sehr. – user1281991

4
"UPDATE tbl_Settings set password = '1234')" 

Entfernen Sie die Klammer

"UPDATE tbl_Settings set password = '1234'" 
+0

Danke;) Ich Erblindung werden muss .. – user1281991

Verwandte Themen