b4sh Geschrieben 1. September 2011 Teilen Geschrieben 1. September 2011 Hallo zusammen, ich programmiere in C# im Moment ein Addon für unsere Software. Jetzt bin ich auf ein Problem in SQL gestoßen: Und zwar beim Update einer Tabelle in dem Datumsfelder sind. Das Datum wird in der Software so angezeigt und auch ausgelesen (GRID) DD.MM.YYYY HH:MM:SS Beim Speichern muss ich also das Datum Konvertieren in dieses Format ( SQL SERVER): YYYY-MM-DD HH:MM:00.000 Soweit so gut. Ich Convertiere also im SQLStatement meinen String : [NAG_PROJENDE] = CONVERT(datetime,'" +Datumsstring + "',126) Solange die Tagesangabe unter 12 bleibt funktioniert der Update, überschreitet er allerdings die 12 bekommen ich einen Fehler nicht nur im Programm sondern auch im SQLSERVER wenn ich das Statement reinkopiere: Ich Dachte erst er vertauscht mir Tag und Monat auch das ist nicht der Fall.. Wo könnte der Fehler liegen? Gruß b4sh Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pixie Geschrieben 1. September 2011 Teilen Geschrieben 1. September 2011 Lt. CAST und CONVERT (Transact-SQL) hat die 126 kein Leerzeichen, sondern ein 'T' Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 1. September 2011 Teilen Geschrieben 1. September 2011 Konvertieren solltest nicht. Wenn du auf deiner Verbindung vorm Eintragen des Datums ein SET DATEFORMAT DMY absetzt, dann klappts auch. Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
b4sh Geschrieben 1. September 2011 Autor Teilen Geschrieben 1. September 2011 Ja weiss ich ... ich hab schon alles mögliche probiert... und jetuzt ist ein kollege draufgekommen... es ist 0.... DEFAULT !! 4 STUNDEN MIT DEM sch.... gespielt und es is default! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 1. September 2011 Teilen Geschrieben 1. September 2011 Was ist los? Bitte nochmal verstaendlich Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gooose Geschrieben 1. September 2011 Teilen Geschrieben 1. September 2011 Wenn du das Datum an die Datenbank übergibst sollte via SqlParameterCollection.AddWithValue der Typ passend umgewandelt werden. Du kannst ja spaßeshalber mal schauen, wie das Ergebnis im Profiler aussieht. An Sonsten schau dir mal Standard Date and Time Format Strings in der MSDN an. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
streffin Geschrieben 7. September 2011 Teilen Geschrieben 7. September 2011 welche standard Datumsformatierung der Server hat ist egal. Du schreibst den Datentyp Datetime in die Tabelle, nicht den String zu dem der Server das Datum standartmäsig konvertiert. Du konvertiertst einen String zum Datum, nicht umgekehrt. Bei deinem Format hier brauchst du : DECLARE @beispiel nvarchar(255) SET @beispiel = '07.09.2011 15:01:22:660' PRINT CONVERT(DATETIME, @beispiel, 104) --> : 'Sep 7 2011 3:01PM' Gruß Sven Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.