High,
ich hab ein ähnliches Problem, und zwar will ich über einen Insert- Command auf ein Datum in die Datenbank(Access 20003). Es wird mir immer die Fehlermeldung angezeigt, dass die Datentypen im "Kriterienausdruck" sich nicht vertragen würden. Allerdings seh ich das Problem irgendwie nicht, weil ich von eine Variable von dem Typ DateTime an die Datenbank übergebe, deren Feldtyp "Datum/Uhrzeit" ist. Also ich sehe da eigentlich gar kein problem. Ich habs auch so probiert, einen String an die Datenbank zuübergeben, allerdings gibt es dann die selbe Exception aus. Ich weiß wirklich nicht, was für einen Fehler ich fabriziert haben. Zum besseren Verständnich poste ich mal ein paar Codeschnippsel.
Hier deklariere ich die Parameter, die dem Insert-Befehl übergeben werden.
System.Data.OleDb.OleDbParameter
vonZeit= daC.InsertCommand.Parameters.Add("@vonZeit", System.Data.OleDb.OleDbType.DBDate);
System.Data.OleDb.OleDbParameter
bisZeit = daC.InsertCommand.Parameters.Add("@bisZeit", System.Data.OleDb.OleDbType.DBDate);
Hier fülle ich die Parameter mit Werten:
vonZeit.Value = monthCalendar1.SelectionStart.Date;
bisZeit.Value = monthCalendar1.SelectionStart.Date;
Hier die DataTable:
newRowC["vonZeit"] = monthCalendar1.SelectionStart.Date;
newRowC["bisZeit"] = monthCalendar1.SelectionStart.Date;
Ansonsten hab ich gar normal einen InsertCommand generiert und die Änderungen an mit acceptChanges an die Access- Datenbank übertragen und natürlich den DataAdapter geupdatet.
Ich wäre sehr dankbar, wenn mir jemand helfen würde!
Schöne Grüße
Jaden
Altes Problem, es lieg daran, dass Access und .Net-Datentypen nicht identisch sind, mach aus deinen DateTime-Typ ein String und dann konvertier es mit DATEVALUE in SQL_Befehl zu einem Data-Typ, wlecher Access versteht.