vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: MonthCalendar liefert nur Datum 
Autor: ModeratorDaveS (Moderator)
Datum: 02.02.10 14:07

Bitte ins richtige Forum posten.

Ein DateTime-Wert hat immer Datum und Uhrzeit. "Formatierung" findet nur statt wenn der Wert etwa auf den Bildschirm dargestellt wird. Und es hängt dann davon ab welchen Formatstring man verwendet.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

MonthCalendar 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
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: MonthCalendar liefert nur Datum 
Autor: ModeratorDaveS (Moderator)
Datum: 02.02.10 14:18

Übrigens, du hast MonthCalendar. Dieses Control ist nur für Datum, und DateTime wird immer 00:00:00 sein. Wenn du Uhrzeit auswählen willst dann vielleicht besser mit DateTimePicker.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: MonthCalendar liefert nur Datum 
Autor: ModeratorFZelle (Moderator)
Datum: 02.02.10 19:12

Dann wird deine Anfrage an die DB falsch sein.

Machst Du das evtl per Stringfrickelei?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: MonthCalendar liefert nur Datum 
Autor: ModeratorFZelle (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.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel