Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
System.DateTime zu OdbcType.DateTime
haudi
myCSharp.de - Member



Dabei seit:
Beiträge: 30

Themenstarter:

System.DateTime zu OdbcType.DateTime

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
masskon
myCSharp.de - Member



Dabei seit:
Beiträge: 82
Herkunft: Bad Neuenahr-Ahrweiler

beantworten | zitieren | melden

Hast du mal das MySQLDateTime versucht?
Das funktioniert gut.

Gruß, Karl
private Nachricht | Beiträge des Benutzers
frisch
myCSharp.de - Member

Avatar #avatar-1724.gif


Dabei seit:
Beiträge: 2118
Herkunft: Coburg / Oberfranken

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
haudi
myCSharp.de - Member



Dabei seit:
Beiträge: 30

Themenstarter:

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
FZelle
myCSharp.de - Experte



Dabei seit:
Beiträge: 10080

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
haudi
myCSharp.de - Member



Dabei seit:
Beiträge: 30

Themenstarter:

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers