Ich versuche, eine MS Access-Tabelle zu aktualisieren und es hält einen Fehler werfen:aktualisieren ExceptionNonQuery
An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in System.Data.dll
Additional information: Syntax error in string in query expression 'EmID = '234'.
Die EmID
in der Datenbank ist. Bitte helfen Sie
public partial class Sales : Form
{
...
private void btnUpdate_Click(object sender, EventArgs e)
{
int EmpID = int.Parse(txtEmpID.Text);
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\\SalesData.mdb");
OleDbCommand update = new OleDbCommand("UPDATE Sales SET Printer = '" + txtPrinter.Text + "', Ink = '" +txtInk.Text + "', Paper = '"+txtPaper.Text+"' WHERE EmID = '" + txtEmpID.Text + " ", con);
con.Open();
update.ExecuteNonQuery();
con.Close();
MessageBox.Show("Sales Updated");
}
...
}
Danke, ich bin immer noch einen Fehler bekommen: Eine nicht behandelte Ausnahme des Typs ‚System.Data .OleDb.OleDbException 'aufgetreten in System.Data.dll Zusätzliche Informationen: Syntaxfehler in UPDATE-Anweisung –
@MattBrown: Es gibt ein extra, nicht benötigtes ** Komma ** ',' nach dem 'Papier = @ Papier,' kurz vor die 'WHERE'-Klausel - wenn Sie diese entfernen, sollten Sie gut gehen –
Ich mag die Stack-Überlauf-Community, wie jeder neue Entwickler hilft, Basis-Datenbank-Angriffe wie S zu verhindern QL-Injektion. –