| |
VB.NET - Ein- und UmsteigerMonthCalendar liefert nur Datum | | | Autor: Askir | Datum: 01.02.10 23:53 |
| Guten Abend,
ich habe ein kleine Problem mit meinem MonthCalendar Steuerelement welches ich in meinem VB Express 2008 Projekt nutze.
Vom MonthCalendar wird das ausgewählte Datum an eine Variable vom Typ Date übergeben.
MonthCalendar1.TodayDate Was soweit ja kein Problem ist, allerdings werden hier augenscheinlich nur die Datum Angaben abgelegt und eine Uhrzeit fällt gänzlich weg. Ich benötige jedoch für meine Datenbank (DateTime Feld) einen Wert welcher nicht nur Datum, sondern auch die Uhrzeit in 00:00:00 Formatierung enthält.
Die Frage ist, kann ich nachträglich an die Date-Formatierung noch eine Uhrzeit anhängen und wenn ja, wie?
Mag sein, dass ich mitlerweile auch den Wald vor lauter Bäumen nicht mehr sehe, aber irgendwie komme ich hier nicht mehr weiter und wäre dankbar für ein paar heißte Tips.
Gruß,
Askir | |
Re: MonthCalendar liefert nur Datum | | | Autor: Askir | Datum: 02.02.10 16:47 |
| ... sorry, das mit dem falschen Forum ist mir aufgefallen nachdem es abgeschickt war. Danke für das Verschieben...
Also den MonthCalendar benötige ich schon und der ist für meine Zwecke auch genau richtig. Allerdings nutze ich das Ergebnis um damit Daten aus meiner Datenbank zu fischen. Auch hatte ich mir schon gedacht, dass die sog. DateTime 00:00:00 ist, sofern nicht anders gesteuert. Aber, wenn ich mir das Ergebnis aus dem MonthCalendar per MsgBox anzeigen lassen, dann sieht das wie folgt aus: dd.MM.yyyy
Auch werden keine Daten (obwohl vorhanden) in der Datenbank gefunden. Wenn ich aber explizit eine Suchanfrage mit "dd.MM.yyyy 00:00:00" stelle, dann funktioniert es wunderbar.
Nun gut, so werde ich noch einmal genauer auf Spurensuche gehen.
Vielen Dank für die Bestätigung der DateTime Zuweisung.
Gruß,
Askir | |
Re: MonthCalendar liefert nur Datum | | | Autor: FZelle (Moderator) | Datum: 02.02.10 19:12 |
| Dann wird deine Anfrage an die DB falsch sein.
Machst Du das evtl per Stringfrickelei? | |
Re: MonthCalendar liefert nur Datum | | | Autor: Askir | Datum: 02.02.10 22:58 |
| ... ja genau, mein Quellcode sieht wie folgt aus.
Function HB_DATENBANK_OUT_2(ByVal HB_Datum As Date, ByVal HB_Art As String, _
ByVal HB_SearchItem As String)
Dim con As New SqlServerCe.SqlCeConnection
con.ConnectionString = "Data Source=Database1.sdf"
Dim SQL As String = "SELECT " & HB_SearchItem & " FROM Datenbank WHERE Datum =" & _
"'" _
& HB_Datum & "' AND Art = '" & HB_Art & "'"
Dim adapter As New SqlServerCe.SqlCeDataAdapter(SQL, con)
Dim cmd As New SqlServerCe.SqlCeCommandBuilder(adapter)
Dim data_set As New DataSet()
con.Open()
Try
adapter.Fill(data_set, "Datenbank")
Catch ex As Exception
MsgBox(ex.Message)
Finally
con.Dispose()
End Try
con.Close()
...
End Function Ich gebe zu und sage es gleich, ich bin in Sachen Datenbanken noch absolut am Anfang und bin froh das es so einigermaßen läuft. Nur seitdem ich in der Datenbank das Datum von nvarchar auf datetime umgestellt habe, läuft es leider nicht mehr so wirklich. Nun und das ist der eigentliche Grund warum ich diese MonthCalendar und Uhrzeiten-Geschichte überhaupt erst genauer hinterfragt habe.
Für einen Tip wäre ich natürlich auch hier, sehr dankbar! Leider sieht man bei so vielen Anleitungen und Erklärungen auf den unterschiedlichsten Webseiten nicht unbedingt immer das was man gerade braucht.
Gruß,
Askir | |
Re: MonthCalendar liefert nur Datum | | | Autor: FZelle (Moderator) | Datum: 03.02.10 07:30 |
| In unserem Datenbank Forum kannst du ziemlich oft lesen, das man dafür die ParameterCollection benutzt.
Auch wirst Du dort lesen, das du für den Adapter keine eigene Connection benötigst.
Function GetByDateAndType(ByVal HB_Datum As Date, ByVal HB_Art As String, _
ByVal HB_SearchItem As String)
Dim SQL As String = "SELECT " & HB_SearchItem & " FROM Datenbank WHERE Datum" & _
"=@Date and Art=@Art"
Dim adapter As New SqlServerCe.SqlCeDataAdapter(SQL, ConnectionString)
adapter.SelectCommand.Parameters.AddWithValue("@Date",Date)
adapter.SelectCommand.Parameters.AddWithValue("@Art",HB_art)
Dim data_set As New DataSet()
Try
adapter.Fill(data_set, "Datenbank")
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
End Try
...
End Function Und das mit dem Dispose solltest Du dir auch mal Anschauen, so machte das keinen sinn. | |
Re: MonthCalendar liefert nur Datum | | | Autor: Askir | Datum: 03.02.10 20:40 |
| Vielen Dank für den wirklich guten Ratschlag und die Anmerkungen.
Wie gesagt, aller Anfang ist schwer...
Gruß,
Askir | |
Re: MonthCalendar liefert nur Datum | | | Autor: Askir | Datum: 03.02.10 22:29 |
| Nun muß ich doch noch einmal weiter Fragen, wie das Ganze beim löschen aussehen könnte.
Dort habe ich es bislang wie folgt gehändelt. Aber seitdem ich das Datenfeld der Datenbank für das Datum von "nvarchar" auf "datetime" umgestellt habe, funktioniert halt auch das Löschen nicht mehr.
Dim con As New SqlServerCe.SqlCeConnection
con.ConnectionString = "Data Source=Database1.sdf"
Dim SQL As String = "DELETE FROM Datenbank WHERE Datum = '" & Datum & "'"
Dim adapter As New SqlServerCe.SqlCeCommand(Sql, con)
con.Open()
Try
adapter.ExecuteNonQuery()
Catch ex As Exception
MsgBox(ex.Message)
Finally
End Try
con.Close() Selbst das Umformatieren (http://www.vbarchiv.net/tipps/details.php?id=723) des Datum's hat mich nicht weiter gebracht, weil dann ein String aus dem Datum generiert wird.
Gruß,
Askir | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats sevGraph (VB/VBA)
Grafische Auswertungen
Präsentieren Sie Ihre Daten mit wenig Aufwand in grafischer Form. sevGraph unterstützt hierbei Balken-, Linien- und Stapel-Diagramme (Stacked Bars), sowie 2D- und 3D-Tortendiagramme und arbeitet vollständig datenbankunabhängig! Weitere Infos
|