Hallo!
Ich möchte aus einer Access Datenbank immer nur eine einuzelne Zeile auslesen und dann diese Zeile im Programm editieren bzw falls dieser Eintrag nicht in der Datenbank gefunden wird neu anlegen -> Am Ende möchte ich dies wieder in die Datenbank zurückspeichern....
Habs folgedermasen versucht aber bekomme die folgende Fehlermeldung:
ex.Message = "OleDbCommand.Prepare method requires all variable length parameters to have an explicitly set non-zero Size."
Hier ein auszug aus dem Quelltext
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| OleDbCommand oCom = new OleDbCommand("SELECT * FROM TableXY WHERE PK= @PK",myConnection).Connection); oCom.Parameters.Add("@PK", OleDbType.VarWChar); OleDbDataAdapter dataAdapterCube = new OleDbDataAdapter(); dataAdapterCube.SelectCommand = oCom; DataSet dataSetCube = new DataSet(); OleDbCommandBuilder oComBuilder = new OleDbCommandBuilder(dataAdapterCube); dataAdapterCube.SelectCommand.Parameters["@PK"].Value = "test"; dataAdapterCube.FillSchema(dataSetCube, SchemaType.Source); dataAdapterCube.Fill(dataSetCube); Console.WriteLine(dataSetCube.Tables[0].Rows[0][0].ToString()); dataSetCube.Tables[0].Rows[0][7] = 25; dataAdapterCube.Update(dataSetCube.Tables[0].GetChanges()); |
Vielleicht sieht jemand den Fehler...
Danke & lg,
Wolfi