"Nur" Datum in SQL-DB speichern ohne Zeitangabe

  • ASP

Es gibt 15 Antworten in diesem Thema. Der letzte Beitrag () ist von Manü.

    "Nur" Datum in SQL-DB speichern ohne Zeitangabe

    Hallo,



    mit:

    cmd.Parameters.Add(New SqlParameter("@Datum", SqlDbType.SmallDateTime)).Value = Date.Now



    will ich in eine MSSQL-DB das Datum eintragen. Es wird aber auch immer die Uhrzeit übertragen.



    Wie kann man nur das Datum übertragen?



    Gruß

    Mull
    Gibt's in ASP den Format Befehl? Dann könnte es mit ... = Format(Date.Now, "dd.mm.yyyy") gehen.

    Oder du schreibst nur "Date" (ich weiß nicht, ob das geht). Oder gibt's Date.Date?
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Danke für die Antwort.

    Date.Date oder nur Date gehen nicht. Date.Today habe ich probiert, liefert wieder diesen Eintrag 14.02.2009 0:00:00.

    Wenn ich es mit = Format(Daten.Now, "dd.mm.yyyy") probiere kriege ich diese Fehlermeldung:
    Konvertierung des Parameterwertes von String in DateTime fehlgeschlagen.

    Keine Ahnung wo das Problem liegt, es muss doch möglich sein, einfach nur ein Datum abzuspeichern. Als String will ich es nicht machen, weil es sonst später bei Umbauten oder Änderungen wieder zu Problemen kommen kann.

    Gruß
    Mull
    ahoi,

    hatte das auch mal mit dem Datum ich hatte es dann zuletzt damit gelöst

    Visual Basic-Quellcode

    1. Today.Day & "." & Today.Month & "." & Today.Year
    Grüße Manu

    Was Gott dem Menschen erspart hat, kann der Computer.
    Billy ©, (*1932), Schweizer Aphoristiker
    Quelle: www.Aphorismen.de
    Hallo,
    ich verwende jetzt als Datentyp "Datetime" und kriege somit diesen Eintrag: 15.02.2009 00:00:00. Wenn ich nun diesen Eintrag, z. B. in einem Gridview wieder darstelle, dann formatiere ich den Eintrag nur auf das Datum und schneide somit die Uhrzeit ab.
    Mit Varchar(10) gehts auch, jedoch ist es meiner Meinung nach der falsche Datentyp.

    Ab SQL2008 gibts dann ein "richtiges" Date-Datentypformat.

    Gruß
    Mull
    Aber du willst doch NUR Datum haben oder nicht? Also solltest du auch SmallDate als Fomat nehmen.
    Zudem ist glaube ich die Datumdarstellung falsch. Ich weiß nicht ob sich MsSQL und MySQL dolle unterscheiden aber in MySQL ist das Datumsformat YYYY-MM-DD HH:MM: SS vielleicht liegt da bei dir der fehler, weil Datum.Now DD.MM.YYYY liefert aber das andere erwartet wird.

    Edit: Deswegen bekommste auch den Konvertierungsfehler, dann musste es so machen: Format(Date.Now, "yyyy-mm-dd")
    ahoi,

    den code den ich erst gepostet hatte der funktioniert bei einer Date-Variable probier ihn doch einfach mal aus ;)

    P.S. Dodo sry aber ich finde nicht das deine Signatur in so ein Forum passt und ob es überhaupt den Forenregeln konform ist und denk mal drüber nach ob das ne wirklich gute aussage is was da steht
    Grüße Manu

    Was Gott dem Menschen erspart hat, kann der Computer.
    Billy ©, (*1932), Schweizer Aphoristiker
    Quelle: www.Aphorismen.de
    wie kann der dabei die zeit mit ausgeben die is doch mit drin ??

    bei

    Visual Basic-Quellcode

    1. Today.Year
    wird zb nur das Jahr ausgegeben und wenn du das dann so formatierst wie ich es gepostet habe
    und evtl. erstmal in eine Variable schreibst müsste das nach meinem verständis eigentlich funktionieren
    Grüße Manu

    Was Gott dem Menschen erspart hat, kann der Computer.
    Billy ©, (*1932), Schweizer Aphoristiker
    Quelle: www.Aphorismen.de
    man könnte auch in der DB das Eingabeformat für die Spalte mit dem DateTime wert ändern und nur das Datum ohne Zeit zulassen
    Grüße Manu

    Was Gott dem Menschen erspart hat, kann der Computer.
    Billy ©, (*1932), Schweizer Aphoristiker
    Quelle: www.Aphorismen.de
    Habe ich doch schon geschrieben O.o

    cmd.Parameters.Add(New SqlParameter("@Datum", SqlDbType.SmallDate)).Value = Date.Now

    Edit: Wobei wenn die Spalte in der DB das Format DateTime hat bringt das nicht viel, das stimmt. Wie hast du deine DB denn erstellt? ICh weiß nicht wie man das in VB macht, da ich bei mir auf eine Lokale MySQL DB zugreife manage ich die mit PHP MyAdmin. Dort kann man mit dem SQL Befehl


    SQL-Abfrage

    1. ALTER TABLE `Tabellenname` CHANGE `datum` `datum` DATE

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Dodo“ ()

    naja über vb oder SQL meinte ich das nicht hab nur kurz mal bei Access reingeschaut und mal bei der Tabbelerstellung wegen den Felddatentypen geschaut und da gesehen das man das eingabeformat bearbeiten kann ;)

    das geht aber per SQL auch ich weiß nur grad nich wie ^^

    EDIT: hab nochmal geschaut und an sich müsste es das SmallDate sein

    eine Idee wäre evtl. noch einen Autowert als Datentypen nehmen und dann aus vb das kurze datum übergeben
    Grüße Manu

    Was Gott dem Menschen erspart hat, kann der Computer.
    Billy ©, (*1932), Schweizer Aphoristiker
    Quelle: www.Aphorismen.de

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Manü“ ()