Laden...

DateTime-Problem mit der Datenbank

2 Antworten
1,538 Aufrufe
Letzter Beitrag: vor 20 Jahren
DateTime-Problem mit der Datenbank

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.