C# Datumswert auslesen, Convert und anzeigen

Deletemaster

Erfahrenes Mitglied
Hallo ich bin's schon wieder,

in meiner DB-Tabelle sind Felder mit Datumswerten (Geburtsdatum) gefüllt.
Diese möchte ich nun auslesen und als ShortDateTime anzeigen

Leider funktioniert die Sache nicht mit dem ExecuteReader()

Dazu benötige ich sicherlich eine eigene Abfrage wie:

private void DatumsWerteFuellen()
{

SELECT geburtsdatum FROM Tabelle WHERE vrn = '" + txt_VRN.Text + "'";


}
Dafür brauche ich sicher eine KlassenVariable, die in der Funktion verwenden kann
anschließend evtl. mit ExecuteScalar() ?

Ich komme einfach nicht drauf
Könnt ihr mir bitte weiterhelfen?
Danke
 
Erledigt, habe in meinen alten Codes etwas gefunden:

string s_VRN = txt_VRN.Text;

OdbcCommand cmd_Geb_Datum = new OdbcCommand("SELECT geburtsdatum FROM Tabelle WHERE vrn ='" + s_VRN +"'", conn);

DateTime _GeburtsDatum = Convert.ToDateTime(cmd_Geb_Datum.ExecuteScalar());

txt_Geburtsdatum.Text = (_GeburtsDatum.ToString("dd.MM.yyyy")).ToString();

Danke
 
Also du solltest prinzipiell mit Parametern arbeiten. In deinem Fall bist du sehr anfällig für SQL Injections.

Weiters kommst du mit einem DataReader sehr wohl an einen DateTime-Wert.

C#:
SqlDataReader dr = ....;
DateTime dtTest = dr.GetDateTime(index);

PS: Da du inzwischen anscheinend noch etwas gepostet hast: Dein Code ist äußerst hässlich und sollte so wohl nicht wirklich verwendet werden.

PPSS: Bitte die Code-Tags für Sourcecode verwenden. Ist so ja kaum zu lesen.
 
Habe das Problem halbwegs gelöst,
bleibt immer noch da Problem mit dem Binding der CheckBox und des RadioButton
Weiterhin erscheint eine Kompiler-Frage Wenn das Feld Geburtsdatum leer ist: Typumwandlung nicht möglich,
habe nun bei allen DS wo geburtsdatum IS NULL 0000-01-01 eingetragen
Fehlermeldung bleibt bestehen!?
 
Zurück