webForumDet fria alternativet

SQL och datum?

Databaser & SQL

3 svar · 661 visningar · startad av Quid

Medlem sedan juni 20006 022 inlägg
Frågan#1

Jag sitter och försöker få datum att fungera med SQL, jag har ett fält där jag skriver "2009-02-30", som jag sen vill ha in i databasen. Fältet i databasen är av typen "SmallDateTime", men jag får inte det att funka.

Min fråga ser ut så här nu:

SQL = "INSERT INTO Account (f_CustomerID, f_AccountID, f_Server, f_Login, f_Password, f_BillingPeriod, f_BillingNext, f_Active)
VALUES ('"& Request.Form("i_CustomerID") &"', '"& Request.Form("i_AccountID") &"', '"& Request.Form("i_Server") &"','"& Request.Form("i_Login") &"', '"& Request.Form("i_Password") &"', '"& Request.Form("i_BillingPeriod") &"', '#"& Request.Form("i_BillingNext") & " 00:00:00"  &"#', 'yes')"

Felet jag får är:
[Microsoft][ODBC SQL Server Driver][SQL Server]Conversion failed when converting character string to smalldatetime data type.

Ska det vara # runt? Måste jag konvertera det på något sätt? Jag har väl fält-typ i databasen? Jag blir galen :)

Medlem sedan juni 200032 967 inlägg
#2

När man använder SQL Server ska det vara apostrofer runt datum. Det är bara Access som vill ha brädgårdar.

.... '"& Request.Form("i_BillingNext") & " 00:00:00' ....

Glöm inte sql injections...

Medlem sedan juni 20006 022 inlägg
#3

Tack, saken blev ju inte lättare av att jag testade med "2009-02-30" som inte ens finns :D

Medlem sedan dec. 200012 464 inlägg
#4

Flyttad från ASP

249 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)