Avatar billede neuro Nybegynder
16. juni 2001 - 01:04 Der er 10 kommentarer og
1 løsning

Dato giver incorrect syntax i SQL

Jeg kører nedenstående sql forespørgelse på en sql server, men får hele tiden en fejl. roomID=1 og FirstGet=16-06-2001 00:22:06

sql = \"select * from chat_lines where (roomID=\" & roomID & \") and (lDate>=\" & CDate(FirstGet) & \")\"

<p>Microsoft OLE DB Provider for ODBC Drivers</font> <font face=\"Arial\" size=2>error \'80040e14\'</font>
<p>
<font face=\"Arial\" size=2>[Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near \'00\'.</font>
<p>
<font face=\"Arial\" size=2>/chat/bin/f_uChat.asp</font><font face=\"Arial\" size=2>, line 59</font>

Nogen gode forslag?
Avatar billede neuro Nybegynder
16. juni 2001 - 01:06 #1
Og jeg har sat mit datofelt til korrekt datetime i sql serveren.. hmm.. er virkelig puzzled over det her ?! =/
Avatar billede perla Nybegynder
16. juni 2001 - 02:41 #2
Hvis roomid er et tekstfelt sk der \' \' om, Det same gælder for dato feltet. Paranteserne er unødvendigt i dette eksempel. Så

sql = \"select * from chat_lines where roomID=\'\" & roomID & \"\' and lDate>=\'\" & CDate(FirstGet) & \"\'\"

-Per
Avatar billede prof2 Nybegynder
16. juni 2001 - 11:31 #3
Med dato prøv med # # uden om altså:

\"...#\" & dato & \"#...\"

JEg ved ikke om det er rigtig, men jeg mener bare at have hørt det et sted !
Avatar billede neuro Nybegynder
16. juni 2001 - 12:45 #4
RoomID = integer
lDate = datetime

så.. jeg prøver med # omkring dato.
ellers andre gode forslag????
Avatar billede neuro Nybegynder
16. juni 2001 - 12:50 #5
Hvis jeg sætter \'\' om datofeltet får jeg følgende fejl:

<p>Microsoft OLE DB Provider for ODBC Drivers</font> <font face=\"Arial\" size=2>error \'80040e07\'</font>
<p>
<font face=\"Arial\" size=2>[Microsoft][ODBC SQL Server Driver][SQL Server]The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.</font>
<p>
<font face=\"Arial\" size=2>/chat/bin/f_uChat.asp</font><font face=\"Arial\" size=2>, line 59</font>

så det duer ikke.. =/
Avatar billede neuro Nybegynder
16. juni 2001 - 12:52 #6
# omkring dato duer heller ikke =/
Avatar billede perla Nybegynder
16. juni 2001 - 13:11 #7
Prøv at fjerne tidspunktet, SQL Server skal have \' \' om dates. Giv mig din mail adresse så sender jeg en SQL dokumentation i PDF format

-Per
Avatar billede perla Nybegynder
16. juni 2001 - 13:17 #8
Så vidt jeg husker opererer man med enten data eller time i DateTime typen. Men også at regionale settings her effekt på den så prøv at sætte \"strengen\" til cdate(FirstGet) = \'2001-01-01\' og \'01-01-2001\'

Et af dem skal virke.

-Per
Avatar billede neuro Nybegynder
16. juni 2001 - 19:47 #9
har selv fået løst problemet. og jeg har en SQL server dokumentation =) ellers tak for hjælpen...
Avatar billede neuro Nybegynder
16. juni 2001 - 19:47 #10
=)
Avatar billede perla Nybegynder
16. juni 2001 - 19:48 #11
Tak for dit gavminde bidrag :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester