string zu DateTime Convertieren für Update

Deletemaster

Erfahrenes Mitglied
Hallo ich bins schon wieder,

in meinem Formular werden die Daten aus einer Tabelle gelesen!
Das Feld in dem sich Datumswerte befinden weren zu string konvertiert!

OdbcCommand cmd_GeburtsDatum = new OdbcCommand("SELECT geburtsdatum FROM winners49 WHERE vrn ='" + str_VRN +"'", conn);
DateTime _GeburtsDatum = Convert.ToDateTime(cmd_GeburtsDatum.ExecuteScalar());
txt_Geburtsdatum.Text = (_GeburtsDatum.ToString("dd.MM.yyyy")).ToString();

das funktioniert!

Jetzt soll die ganze Sache "umgedreht" werden:
Also der Wert in der TextBox zB. 19.01.1968
soll in ein Datumsformat konvertiert werden,

string str_Geburtsdatum = txt_Geburtsdatum.Text;
DateTime _GeburtsDatum = Convert.ToDateTime(str_Geburtsdatum);

Wenn ich jetzt mein Update starte:
"UPDATE Tabelle SET vorname = '" + str_Vorname + "' AND geburtsdatum = '" + '"' + str_Geburtsdatum + '"' + "' WHERE vrn = ?";
Werden die Veränderungen nicht übernommen
ich habe dem str_Geburtsdatum noch einfache Anführungszeichen hinzugefügt.
Kann es sein, daß MySQL explizit die Syntax '1968-01-19' vorschreibt?
Wenn ja, wie kann ich meinen string dahin verändern?
Sonst werde ich wohl das Geburtsdatum in Feldern einzeln auslesen und anzeigen müssen, um somit später die 3 Felder zu einem neuen string zu verketten damit ich hier Veränderungen übernehmen kann.
Bitte stellt nicht die Frage: Warum willst du das Geburtsdatum ändern, das ändert sich doch nie...
 

Norbert Eder

Erfahrenes Mitglied
Mal davon abgesehen. Warum verwendest du ODBC und nicht den MySQL .NET Data Provider? Damit ersparst du dir ein paar Probleme und Eigenheiten von ODBC.
 

Norbert Eder

Erfahrenes Mitglied
Mit den MySQL .NET Data Provider bekommst du einen eigenen Data Provider von MySQL für MySQL. D.h. die entsprechenden Funktionalitäten sind abgebildet, höhere Performance und und und ... zudem gibt es dazu von MySQL auf deren Seite auch eine gute Dokumentation. Wo beispielsweise auch das Thema Date/Time behandelt wird.

ODBC: Sehr langsam, kryptische Fehlermeldungen, und und und

Das sollte reichen.

PS: Bitte verwende die CODE-Tags, denn so ist der von dir gepostete Sourcecode ja kaum zu lesen. Danke.
 

Deletemaster

Erfahrenes Mitglied
Danke Norbert,
ich werde mal den Unterschied testen.
Nicht zuletzt die Behandlung von DateTime scheint sehr interessant
Sicher muss ich aber einen neuen Verweis hinzufügen oder?
 

Deletemaster

Erfahrenes Mitglied
Hallo Norbert,
wo finde ich MySQL .NET Data Provider und wie binde ich den MySQL .NET Data Provider in VS ein?
ich habe diesen nicht gefunden.
Auf der Seite von mysql gibte es nur den "mysql-connector"

Danke