Avatar billede cdygaard Nybegynder
09. april 2002 - 20:50 Der er 9 kommentarer og
1 løsning

Tomt Recordset

  Jeg har lavet et script hvor jeg forsøger at udtrække et recordset på baggrund af to datoer, men lige meget hvordan jeg vender og drejer datoen kommer der et tomt recordset. Noget af mit script ser sådan her ud:

If Request.Querystring("WhatWasChosen") = "WeekChosen" Then
  Set objConn = Server.Createobject("ADODB.Connection")
  strConnString = "Provider=SQLOLEDB;" & _
                  "Persist Security Info=FALSE;" & _
                  "User ID=sa;" & _
                  "Password=pb16950;" & _
                  "Initial Catalog=WorkStatistics;" & _
                  "Initial File Name = C:\Programmer\Microsoft SQL Server\MSSQL\" & _
                  "DATA\WorkStatistics_Data.mdf;"
  objConn.Open strConnString
  Set objRS = Server.Createobject("ADODB.Recordset")
  startDate = Request.Querystring("startDate")
  endDate = Request.Querystring("endDate")
  strSQL = "SELECT * FROM WorkProjects_T WHERE Dags_Dato_DT BETWEEN " & _
            startDate & " AND " & endDate & " ORDER BY Dags_Dato_DT"
  objRS.Open strSQL, objConn, adOpenForwardOnly, adLockReadOnly, adCmdText
  Response.Write "<CENTER><TABLE BORDER='1'></CENTER><TR><TD><H4>Dato:</H4></TD>"
  Response.Write "<TD><H4>Projekt Navn:</H4></TD><TD><H4>Arbejdstimer:</H4></TD>"
  Response.Write "<TD><H4>Læst Fra:</H4></TD><TD><H4>Læst Til:</H4></TD>"
  Response.Write "<TD><H4>Læste Sider:</H4></TD></TR>"
  Do While Not objRS.EOF
      Response.Write "<TR><TD ALIGN='CENTER'>" & objRS("Dags_Dato_DT") & "</TD>"
      Response.Write "<TD ALIGN='CENTER'>" & objRS("Projekt_Navn_VC") & "</TD>"
      Response.Write "<TD ALIGN='CENTER'>" & objRS("Arbejdstimer_IN") & "</TD>"
      Response.Write "<TD ALIGN='CENTER'>" & objRS("Læst_Fra_IN") & "</TD>"
      Response.Write "<TD ALIGN='CENTER'>" & objRS("Læst_Til_IN") & "</TD>"
      Response.Write "<TD ALIGN='CENTER'>" & objRS("Læste_Sider_IN") & "</TD></TR>"
      objRS.Movenext
  Loop
  Response.Write "</TABLE>"
  Response.Write strSQL
  objRS.close
  Set objRS = Nothing
  objConn.close
  Set objConn = Nothing
End If

Hvis jeg udskriver min sql streng ser det f.eks. sådan her ud:

SELECT * FROM WorkProjects_T WHERE Dags_Dato_DT BETWEEN 6-03-2002 AND 12-03-2002 ORDER BY Dags_Dato_DT

Hvad er der galt?
Avatar billede oasen Nybegynder
09. april 2002 - 20:55 #1
Der kommer et tomt recordsæt ud - dvs. den skriver intet ud?
Avatar billede cdygaard Nybegynder
09. april 2002 - 21:08 #2
Korrekt.
Avatar billede cdygaard Nybegynder
09. april 2002 - 21:10 #3
Jeg har prøvet at køre SQL strengen i SQL Queryanalyzer og der kommer intet ud ligemeget hvordan jeg vender og drejer det.
Avatar billede oasen Nybegynder
09. april 2002 - 21:34 #4
Fejlen ligger sikkert i din SELECT. Jeg har aldrig brugt funktionen BETWEEN, men er der ikke for mange " ?
Avatar billede soes Nybegynder
09. april 2002 - 21:48 #5
kan du ikke bruge < og > end tegn, jeg er ikke lige så stiv i min sql. Det må blive noget med ...Where Dags_Dato_DT > " & startDate & " AND Dags_Dato_DT < "& endDate &" ORDER BY Dags_Dato_DT

/Søren Søndergård
Avatar billede cdygaard Nybegynder
09. april 2002 - 23:03 #6
Jeg får fejlmeddelelsen: Incorrect syntax near '<', hvis jeg bruger < og >.
Avatar billede eagleeye Praktikant
09. april 2002 - 23:25 #7
Hvilken database benytter du??
Hvis du benytter en Access skal der # omkring datoen i SQL'en:

strSQL = "SELECT * FROM WorkProjects_T WHERE Dags_Dato_DT BETWEEN #" & _
        startDate & "# AND #" & endDate & "# ORDER BY Dags_Dato_DT"

Der står god nok noget med SQL Server ... Så skal der vist ' omkring dato men jeg er ikke sikker:
strSQL = "SELECT * FROM WorkProjects_T WHERE Dags_Dato_DT BETWEEN '" & _
        startDate & "' AND '" & endDate & "' ORDER BY Dags_Dato_DT"
Avatar billede cdygaard Nybegynder
09. april 2002 - 23:55 #8
Det har jeg prøvet eagleeye, det virker heller ikke. Og ja, det er SQL Server jeg bruger.
Avatar billede cdygaard Nybegynder
18. april 2002 - 00:06 #9
Point retur.
Avatar billede cdygaard Nybegynder
18. april 2002 - 00:06 #10
En gang til.
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