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?
Annonceindlæg fra Cognizant
25. september 2003 - 12:50
#1
SQLstmt = "SELECT * FROM indberetning Where date BETWEEN '#" & tildato & "#' AND '#" & fradato & "#'" //>Rune
25. september 2003 - 13:12
#2
Hjælper ikke, jeg for samme fejl..
25. september 2003 - 15:08
#3
SQLstmt = "SELECT * FROM indberetning Where date BETWEEN '" & tildato & "' AND '" & fradato & "'" mvh Henrik
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 '.
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
25. september 2003 - 17:46
#6
Hvad gør jeg galt...
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 &"'"
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
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%>
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
25. september 2003 - 20:34
#11
hvad sætter du fradato og tilDato til? f ex 10-10-1980 & 10-10-2005? eller hvad?
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
25. september 2003 - 23:10
#13
Så fik jeg det til at virke..
25. september 2003 - 23:21
#14
hvad var det galt?
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..
25. september 2003 - 23:44
#16
selv tak!