Avatar billede roadi Nybegynder
25. september 2003 - 11:38 Der er 15 kommentarer og
1 løsning

Vælge alle records fra dato til dato

Hej Eksperter!

Jeg har et lille problem, som jeg håber at der er nogen der kan hjælpe mig med..


Jeg vil lave en sqlstmt hvor den henter alle poster hvis dato er fra en given dato og til en given dato.

Jeg har en form der har 2 felter

    <input type="text" name="fromdate" size="11">
                            - <input type="text" name="todate" size="11">

Så har jeg prøvet at lave flg. sql stmt..


<%
                fradato = Request.Form("fromdate")
                tildato = Request.Form("todate")
               
                    SQLstmt = "SELECT * FROM indberetning Where date BETWEEN '#tildato#' AND '#fradato#'"
               
                           
                Conn.Execute (SQLstmt)
                Set rs = conn.Execute(SQLstmt)
               
               
               
               
            %>

Men jeg for denne her fejl..


Microsoft OLE DB Provider for SQL Server error '80040e07'

Syntax error converting datetime from character string.

/indberetning/rapport.asp, line 89


HVorfor?
Avatar billede medions Nybegynder
25. september 2003 - 12:50 #1
SQLstmt = "SELECT * FROM indberetning Where date BETWEEN '#" & tildato & "#' AND '#" & fradato & "#'"

//>Rune
Avatar billede roadi Nybegynder
25. september 2003 - 13:12 #2
Hjælper ikke, jeg for samme fejl..
Avatar billede henrik_n Nybegynder
25. september 2003 - 15:08 #3
SQLstmt = "SELECT * FROM indberetning Where date BETWEEN '" & tildato & "' AND '" & fradato & "'"


mvh

Henrik
Avatar billede hossein Nybegynder
25. september 2003 - 16:00 #4
Date er reserveret ord, den er en funktion, Date() i vb. du skal ændre navnet på den felt. I SQL server skal man ikke bruge # rundt om men '.
Avatar billede roadi Nybegynder
25. september 2003 - 17:45 #5
Nu har jeg ændret feltes navn, og for nu en ny fejl..

Microsoft OLE DB Provider for SQL Server error '80040e07'

The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.

/indberetning/rapport.asp, line 94


Klip----

fradato = "'20-09-2003'"
                tildato = "'30-09-2003'"
               
                        sqlstmt = "SELECT * FROM indberetning WHERE entry_date BETWEEN " & fraDato & " AND " & tilDato
                       
                       
                       
                Conn.Execute (SQLstmt)
                Set rs = conn.Execute(SQLstmt)
               

---Klip
Avatar billede roadi Nybegynder
25. september 2003 - 17:46 #6
Hvad gør jeg galt...
Avatar billede hossein Nybegynder
25. september 2003 - 18:15 #7
du skal lægge '  rundt om, prøv det:
sqlstmt = "SELECT * FROM indberetning WHERE entry_date BETWEEN '"& fraDato &"' AND '"& tilDato &"'"
Avatar billede roadi Nybegynder
25. september 2003 - 19:32 #8
Stadig fejl..


Microsoft OLE DB Provider for SQL Server error '80040e07'

The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.

/indberetning/rapport.asp, line 94
Avatar billede hossein Nybegynder
25. september 2003 - 19:50 #9
på hvilken format skriver du datoen: dd-mm-yyyy og hvilken datatype har feltet?

man kan sætte denne i toppen af siden for at få dansk formatering (dd-mm-yyyy):
<%session.LCID = 1030%>
Avatar billede roadi Nybegynder
25. september 2003 - 20:10 #10
Session.LCID er sat, det samme er setlocal(1030)

Felte i db er DATETIME

Datoer der er gemt i basen er flg. format: dd-mm-yyyy

Datoerne der bliver sendt til scriptet er flg. format: dd-mm-yyyy

/roadi
Avatar billede hossein Nybegynder
25. september 2003 - 20:34 #11
hvad sætter du fradato og tilDato til? f ex 10-10-1980 & 10-10-2005? eller hvad?
Avatar billede hossein Nybegynder
25. september 2003 - 21:26 #12
prøv med:
sqlstmt = "SELECT * FROM indberetning WHERE entry_date BETWEEN '10-08-2002' AND '10-09-2003'"

hvis du får fejl så er det din tabel/feltet som du skal tjekke
Avatar billede roadi Nybegynder
25. september 2003 - 23:10 #13
Så fik jeg det til at virke..
Avatar billede hossein Nybegynder
25. september 2003 - 23:21 #14
hvad var det galt?
Avatar billede roadi Nybegynder
25. september 2003 - 23:35 #15
Session.lcid, lå forkert i koden, så den blev ikke kaldt rigtig, så når vendte dato formatet om så virkede det..

Da jeg fandt ud af dette gik jeg så efter session.lcid, og fandt ud af at det var den der var problemet, så da den blev lagt rigtig ind så kørte det hele..

Så mange tak forhjælpen..
Avatar billede hossein Nybegynder
25. september 2003 - 23:44 #16
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

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



Seneste spørgsmål Seneste aktivitet
I går 20:46 opkaldside Af hagbartm i Mobiltelefoner
I går 16:05 win 10 vil ikke boote Af bb69 i Windows
I går 11:20 Lenovo x390 Af tobberjas i PC
I går 10:14 Alder i Excel Af Nanarsi i Excel
I går 09:00 Flere linier på faneblad Af Peder Lund Nielsen i Excel