Entwickler-Ecke
Datenbanken (inkl. ADO.NET) - MySql-Datentyp "TIME" und "DATE" mit C# ansprechen.
Rassi - Mi 24.09.08 13:58
Titel: MySql-Datentyp "TIME" und "DATE" mit C# ansprechen.
Hallo.
Folgendes Problem.
Ich möchte in eine MySql-Tabellenspalte, die den Datentyp "TIME" bzw. "DATE" hat, mit einem C# Programm etwas schreiben.
Ich gehe so vor, dass ich in C# zuerst ein "INSERT"-Komando erstelle (com= myconn.createCommand(); ......).
Bei der Erstellung der Übergabeparameter benutze ich ein "TIME" bzw. "DATE"
Datentyp (Zeit= com.Parameters.Add("?zeit", MySqlDbType.TIME);....).
Nun muss ich, um das Kommando auszuführen die Parameter beschreiben und den Befehl ausführen
(
Zeit.Value= Variable_fuer_Zeit;
com.ExecuteNonQuery();
)
Meine Frage nun, welchen Datentyp muss die Variable "Variable_fuer_Zeit" haben, wenn die Sql-Tabelle den Datentyp "TIME" bzw. "DATE" erwartet?
Ich habe bei meinen Versuchen immer die Fehlermeldung bekommen, dass nur ein TimeSpan-Typ übergeben werden kann.
Wenn das so ist, wie bekomme ich eine Zeitangabe bzw. Datumsangabe in diesen Typ gewandelt?
Gruß
Rasmus
Th69 - Mi 24.09.08 15:25
Mit welchen Datentypen arbeitest du denn intern in deinem Programm (DateTime, string, ...)?
Um aus einem DateTime-Object ein TimeSpan-Object zu erstellen (d.h. nur den Time-Anteil):
C#-Quelltext
1: 2: 3: 4: 5:
| DateTime dt = DateTime.Now; TimeSpan ts = new TimeSpan(dt.Hour, dt.Minute, dt.Second);
Zeit.Value = ts; |
Und für "DATE" einfach direkt DateTime verwenden (falls es als String vorliegt, evtl. erst DateTime.Parse() bzw DateTime.ParseExact() aufrufen).
Rassi - Do 25.09.08 13:11
Hallo.
Vielen Dank für die Hilfe, so gehts.
Gruß
Rasmus
Kha - Do 25.09.08 15:52
Oder einfach DateTime.TimeOfDay, wenn dir auch die Millisekunden wichtig sind ;) .
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!