Avatar billede wacko Nybegynder
12. september 2001 - 08:57 Der er 9 kommentarer og
1 løsning

Arithmetic overflow error converting expression to data type smalldatetime

Jeg får denne fejl, når jeg vil hente en periodeliste fra en tabel i en SQL-db:

Microsoft OLE DB Provider for ODBC Drivers error \'80040e57\'

[Microsoft][ODBC SQL Server Driver][SQL Server]Arithmetic overflow error converting expression to data type smalldatetime

Linjen som fejlen henfører til er:

SQL = \"SELECT * FROM Arkiv WHERE Dato >= \" & request(\"start\") &\" AND Dato <= \"& request(\"slut\")

Er der noget galt med min syntax eller er det datoformatet, der ikke stemmer overens?(hvilket jeg nu er sikker på at det gør)

mvh

Wacko
Avatar billede nordclc Nybegynder
12. september 2001 - 08:59 #1
Prøv at udskrive systaksen inden du kalder:

response.write sql

Hvis du har mulighed for at benytte between, så gør det i stedet, da det er hurtigere.

//Claus
Avatar billede wacko Nybegynder
12. september 2001 - 09:08 #2
Min SQL-sætning ser sådan ud, når jeg benytter response.write SQl:

SELECT * FROM Arkiv WHERE Dato >= 05-09-2001 AND Dato <= 12-09-2001

Når du foreslår en between-sætning, hvordan skal den så se ud?

Og...skal der et tegn(ex.#) omkring datoer i en SQl-sætning til en SQLdb?

Wacko
Avatar billede nordclc Nybegynder
12. september 2001 - 09:10 #3
Hvilken database har du?
Avatar billede nordclc Nybegynder
12. september 2001 - 09:10 #4
Sorry, så lige det var SQLdb!
Avatar billede wacko Nybegynder
12. september 2001 - 09:11 #5
en SQL-database ... Microsoft, mener jeg...
Avatar billede nordclc Nybegynder
12. september 2001 - 09:13 #6
Jeg tror faktisk du kan nøjes med appostroffer, men er lidt i tvivl:

\"SELECT * FROM Arkiv WHERE Dato between \'\" &  request(\"start\") & \"\' AND \'\"& request(\"slut\") & \"\'\"



Avatar billede wacko Nybegynder
12. september 2001 - 09:16 #7
Det virkede *S* Men nu får jeg blot en :

Exception occurred.

Hvad betyder det?

W
Avatar billede nordclc Nybegynder
12. september 2001 - 09:18 #8
At den nok ikke har fundet nogen data.

Prøv med et check om den findes:

if rs.EOF or rs.BOF then
\' Hvis den ikke findes
else
\' Hvis den findes
end if

Avatar billede wacko Nybegynder
12. september 2001 - 09:20 #9
den fandt en masse data, men stoppede så med fejlen... Jeg har en do while not rs.eof og rs.movenext + loop

Hmmm..det må jeg lige rode lidt med.

Mange tak for hjælpen *S*

Wacko :o)
Avatar billede nordclc Nybegynder
12. september 2001 - 09:22 #10
Selv tak.
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