OleDB Problem (OleDBCommand ausführen)

JK_net

Erfahrenes Mitglied
Hallo!

Ich habe folgenden Code:

private string connectionString;
private OleDbConnection oleDbConnection;
private OleDbCommand oleDbCommand;
private OleDbDataReader oleDbReader;
connectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=figuren.mdb";
oleDbConnection = new OleDbConnection(connectionString);
string category = categories.txtCategorie.Text;
string year = categories.txtYear.Text;
string desc_long = categories.txtDesc_long.Text;
string picture = categories.txtPicture.Text;
string sql = "UPDATE ueei_categories SET category = '"+category+"', year = '"+year+"', desc_long = '"
+ ""+desc_long+"', image = '"+picture+"' WHERE id = " + productID;
oleDbCommand = new OleDbCommand(sql);
oleDbCommand.Connection = oleDbConnection;
oleDbConnection.Open();
oleDbCommand.ExecuteNonQuery();
oleDbConnection.Close();

Allerdings bekomme ich bei ExecuteNonQuery() immer folgende Fehlermeldung:
Eine nicht behandelte Ausnahme des Typs 'System.Data.OleDB.OleDbException' ist in system.data.dll aufgetreten.

Kann mir dabei jemand behilflich sein, wie das Problem lösen kann?

MfG
Jens
 
Vielleicht liegt es daran, dass dein Jahr in der Datenbank vielleicht als Zahl definiert ist, du aber einen String übergibst?
 
Hallo!

Ich habe das Problem gefunden.

Es liegt daran, dass der Feldname "year" ein von Microsoft Access reserviertes Wort ist, und nur intern in Access verwendet werden kann. Sobald man von "draußen" darauf zugreift, gibt es eine Fehlermeldung.

MfG
Jens
 
Zurück