Laden...

System.DateTime zu OdbcType.DateTime

Erstellt von haudi vor 17 Jahren Letzter Beitrag vor 17 Jahren 1.471 Views
H
haudi Themenstarter:in
30 Beiträge seit 2005
vor 17 Jahren
System.DateTime zu OdbcType.DateTime

Hallo, ich habe ein System.DateTime Objekt, dass ich an eine MySQL-Datenbank übergeben will. Leider kommt dort nur z.B. 22.11.2006 00:00:00 an, also fehlen die Stunden, etc..
Ich muss also das System.DateTime in den OdbcType.DateTime Typ konvertieren, hat da jemand einen Codeschnippsel zu?

Ich habe auch schon versucht mit "myDateTime.ToString("yyyy:MM:dd HH:mm:ss"));" versucht, aber das gibt das gleiche Ergebnis.

Danke schonmal
H.

M
82 Beiträge seit 2006
vor 17 Jahren

Hast du mal das MySQLDateTime versucht?
Das funktioniert gut.

Gruß, Karl

2.082 Beiträge seit 2005
vor 17 Jahren

Hallo haudi,

schonmal mit Parametern versucht und nicht per Insert selbst zusammensetzen?

Es ist toll jemand zu sein, der nichts von der persönlichen Meinung Anderer hält. - frisch-live.de

H
haudi Themenstarter:in
30 Beiträge seit 2005
vor 17 Jahren

Hallo,
nein, das kommt dann wohl vom MySQL Connector, oder? Muss ich dazu die ganze DB-Verbindung umschreiben? Ich will ja eigentlich "nur" eine Konvertierung von "System.DateTime" in das MySQL verständliche Format, wobei System.DateTime als Quellformat unbedingt bleiben sollte.

Gruß H.

F
10.010 Beiträge seit 2004
vor 17 Jahren

Such hier mal nach parameterCollection, dann findest Du was Du brauchst.

Hierzu musst Du nur 2 Zeilen umschreiben, einmal den String des SQL-Befehls,
und dann eben die Zeile mit dem Parameter.

H
haudi Themenstarter:in
30 Beiträge seit 2005
vor 17 Jahren

Hi, ich nutze bereits Parameter:
Mein Ablauf:
...
Connect();
PrepareQuery(insert into sessions values(?, ?, ?, ?)");
...
und dann
...
((OdbcCommand)dbCmd).Parameters.Add(new OdbcParameter("", TranslateType(type)).Value = v);

wobei v das System.DateTime-Objekt ist und TranslateType:
...
case MySQLTypes.DateTime: result = OdbcType.DateTime; break;
...

aus dem ein OdbcType.DateTime machen soll, was leider nicht ganz hinhaut.
Wenn ich mit dem Debugger im Einzelschritt durchgeh und mir die Parameter ansehe, steht als Typ des Parameters: "System.Data.Odbc.OdbcParameter".
Der Wert ist: {23.11.2006 15:18:21} und als Typ gibt VS2005: {System.DateTime} aus. Muesste dann da nicht OdbcType.DateTime stehen?

Ich nutze nicht den MySQL Connector und geh über den MySQL ODBC Treiber 3.51 an die DB heran. Warum kann man nicht mit einer "ToString" Konvertierung, bei der man genau das Format vorgibt eine passende Struktur hinkriegen?

Gruß
H.