DateTime insert to MSSQL

Tags:    c#

Jeg er ved at lave et lille nyhedssystem.
Jeg har bare et problem når jeg prøver at tilføje DateTime.Now.ToShortDateString.

C#
Fold kodeboks ind/udKode 


Fejlmeddelse
Fold kodeboks ind/udKode 




Det er sjovt, jeg har lige fået den samme meddelse på en af mine projekter..:bounce:

Det betyder at det felt du prøver at indsætte dataen i ikke har plads til den.

Prøv at ændre feltet "OprettelsesDato"(i din database) til typen "Varchar(Max)" eller noget lignende.



Sjovt nok , så hjalp det faktisk :)
Rigtig rigtig mange tak.
Jeg er ked af at jeg ingen point har at give ud af, men jeg håber at du overlever :)



erhm... er det ikke bare en rigtig høker-løsning at bruge et tekst-felt fremfor den korrekte datatype?




Sjovt nok , så hjalp det faktisk
Rigtig rigtig mange tak.
Jeg er ked af at jeg ingen point har at give ud af, men jeg håber at du overlever

Jeg behøver ingen points;)
Jeg har sendt dig en udvikler-mail.

erhm... er det ikke bare en rigtig høker-løsning at bruge et tekst-felt fremfor den korrekte datatype?

Det var mere tænkt som en måde, til at finde den korrekte datatype på, men som du kan se i koden, omdanner han datoen til en string med "ToShortDateString".;)
Så teknisk set er det bare at tælle hvor mange tegn der er, og vælge den korrekte datatype.
F.eks:
10-06-09 00:00 = En string datatype der kan indeholde 14 tegn.
Det ser jeg ikke som en "høker-løsning."

Undskyld hvis jeg ikke udtrykte mig klart nok fra start..:)



Selvfølgelig er det en "høker-løsning" at gemme en datetime i en varchar. Alternativt var der ingen grund til at have andre datatyper end varchar i databasen. Alt kan gemmes i en (n)varchar. Hvordan vil du sortere tabellen udfra OprettelsesDato, når datatypen er en varchar?

Grunden til at man bliver nødt til at bruge ToString() på Datetime.Now er, at ParameterCollection.Add tager en string som parameter.





Selvfølgelig er det en "høker-løsning" at gemme en datetime i en varchar. Alternativt var der ingen grund til at have andre datatyper end varchar i databasen. Alt kan gemmes i en (n)varchar. Hvordan vil du sortere tabellen udfra OprettelsesDato, når datatypen er en varchar?

Grunden til at man bliver nødt til at bruge ToString() på Datetime.Now er, at ParameterCollection.Add tager en string som parameter.



Så angiv en anden datatype i den? SqlDbType.DateTime



Jeg kan da godt sortére mine datoer.
De er sat ind med en "DateTime.Now" og datatypen er Varchar..;)

Men skal vi ikke bare droppe diskutionen og konstatere, at det bedste vil være at sætte dem ind med en DateTime.Now i et felt med datatypen Datetime.

Jeg syntes dog, at den nemmeste måde at finde den korrekte datatype på, er at starte med en datatype, der kan indeholde det meste og derefter arbejde sig ned af.



Jeg takker mange gange for jeres hjælp :)
Jeg fandt ud af det og har brugt den rigtige Datatype, DateTime :)

Jeg lukker nu :)



t