Access u. C#

x_Red_Eagle_x

Erfahrenes Mitglied
Ich bekomm immer eine Fehlermeldung und komm einfach nicht dahinter wo der Fehler liegt:
Das Feld ist zu klein für die Datenmenge, die Sie hinzufügen wollten. Versuchen Sie, weniger Daten einzufügen.

Ansich klingt diese Fehlermeldung recht logisch, jedoch wenn man die DB anschaut, dann nicht mehr: t_Codec (Tabellenname), CoFourCC (PK -> 4 Zeichen lang), CoDiscription (200 Zeichen lang)
und nun der Code:

Code:
OleDbConnection objConnection = new OleDbConnection(CGlobal.sConnectionString);
OleDbCommand objInsertCmd = new OleDbCommand("INSERT INTO t_Codec(CoFourCC, CoDiscription)
                                              VALUES('@CoFourCC','@CoDiscription')",objConnection);
objInsertCmd.Parameters.Add("@CoFourCC", OleDbType.VarChar);
objInsertCmd.Parameters.Add("@CoDiscription", OleDbType.VarChar);

objInsertCmd.Parameters["@CoFourCC"].Value="A";
objInsertCmd.Parameters["@CoDiscription"].Value="A";

objInsertCmd.ExecuteNonQuery();
objConnection.Close();
Bei dem Befehl ExecuteNonQuery wird immer die Exception geschmissen, aber da in der Datenbank genügen Platz ist und ich den das Sql- Statement auch schon überprüft hab (ins Access kopiert und händisch ausprobiert).
Hat von euch jemand eine Idee wo das Problem liegt?

mfg
 
Versuchs mal so:

Code:
OOleDbConnection objConnection = new OleDbConnection(CGlobal.sConnectionString);
OleDbCommand objInsertCmd = new OleDbCommand("INSERT INTO t_Codec(CoFourCC, CoDiscription)VALUES(@CoFourCC,@CoDiscription)",objConnection);

objInsertCmd.Parameters.Add("@CoFourCC", OleDbType.VarChar);
objInsertCmd.Parameters.Add("@CoDiscription", OleDbType.VarChar);

objInsertCmd.Parameters["@CoFourCC"].Value="A";
objInsertCmd.Parameters["@CoDiscription"].Value="A";

objConnection.Open();
objInsertCmd.ExecuteNonQuery();
objConnection.Close();
 
Zuletzt bearbeitet:
Danke schön,

wie ich deinen Code gesehn hab, is mir des Licht aufgegaben:
bei Parameter benötigt man keine ' ' bei Strings im Sql- Statement

mfg
 
Zurück