16. april 2002 - 19:32Der er
9 kommentarer og 1 løsning
SQL ud fra Session
Øverst på min side har jeg dette, hvilket gør det muligt at gå frem og vise forrige post samtidig. Det virker ok. Jeg har en dropdown boks hvor man kan vælge sotering, alt efter hvad man vælger kan værdien blive 1,2 eller 3 denne værdi bliver placeret i en session. Hvordan får jeg den til at tage en anden SQL afhængig af hvad man har i session ???
//Dette er i toppen af siden if (Request.ServerVariables("REQUEST_METHOD") = "POST") then oldID = Request.Form("thisID") else oldID = 0 end if
set connect = server.createobject("ADODB.Connection") Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT TOP 1, * FROM notes WHERE ID > "& oldID & ";" Set rs = Connect.Execute(strSQL) if rs.EOF then strSQL = "SELECT TOP 1, * FROM notes;" Set rs = Connect.Execute(strSQL) end if
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
select case Session("sessionvariable") case 1 strSQL = "SELECT * FROM notes WHERE ID > "& oldID & ";" case 2 strSQL = "SELECT * FROM notes WHERE ID > "& oldID & " ORDER BY ID DESC;" case 3 strSQL = "SELECT * FROM notes;" end select
eagleeye >> Jeg prøvede det du skrev inden jeg postede her, og fik fejlen. Operation not allowed when the Obejct is closed. Den hendviste til den sidste rs.close i bunden af siden. Hvis jeg fjerner den så kommer der bare en blank side, eller også kan den kører alle poster igennem men ikke starte forfra igen.
Hvad havde du i tankerne omkring de 3 SQL sætninger, hvad skal du vælge??
Jeg gættede bare på 3 SQL sætniger ud fra den du har i forvejsen:
strSQL = "SELECT TOP 1, * FROM notes WHERE ID > "& oldID & ";" Set rs = Connect.Execute(strSQL) if rs.EOF then strSQL = "SELECT TOP 1, * FROM notes;" Set rs = Connect.Execute(strSQL) end if
Jeg gik ud fra at det måske var denne: strSQL = "SELECT TOP 1, * FROM notes WHERE ID > "& oldID & ";" du ville havde del op i 3 forskellige SQL sætninger, er det rigtigt?
så den samlede fil vil se ud som sådan:
//Dette er i toppen af siden if (Request.ServerVariables("REQUEST_METHOD") = "POST") then oldID = Request.Form("thisID") else oldID = 0 end if
set connect = server.createobject("ADODB.Connection") Set rs = Server.CreateObject("ADODB.RecordSet")
select case Session("sessionvariable") case 1 strSQL = "SELECT * FROM notes WHERE ID > "& oldID & ";" case 2 strSQL = "SELECT * FROM notes WHERE ID < "& oldID & " ORDER BY ID DESC;" case 3 strSQL = "SELECT * FROM notes;" end select
Set rs = Connect.Execute(strSQL) if rs.EOF then strSQL = "SELECT TOP 1, * FROM notes;" Set rs = Connect.Execute(strSQL) end if
select case Session("sessionvariable") case 1 strSQL = "SELECT TOP 1, * FROM notes WHERE ID > "& oldID & ";" case 2 strSQL = "SELECT TOP 1, * FROM notes;" end select Set rs = Connect.Execute(strSQL)
<% if request("sex") = "1" then session("sex") = "M" end if if request("sex") = "2" then session("sex") = "K" end if if request("sex") = "0" then session("sex") = "A" end if if request("sex") = "" then session("sex") = "A" end if
if (Request.ServerVariables("REQUEST_METHOD") = "POST") then oldID = Request.Form("thisID") else oldID = 0 end if
set connect = server.createobject("ADODB.Connection") Set rs = Server.CreateObject("ADODB.RecordSet")
select case Session("sex") case M strSQL = "SELECT TOP 1, * FROM maps WHERE ID > "& oldID & ";" case K strSQL = "SELECT TOP 1, * FROM maps WHERE ID > "& oldID & ";" case A strSQL = "SELECT TOP 1, * FROM maps WHERE ID > "& oldID & ";" end select
'strSQL = "SELECT TOP 1, * FROM maps WHERE ID > "& oldID & ";"
Set rs = Connect.Execute(strSQL) if rs.EOF then
select case Session("sex") case M strSQL = "SELECT TOP 1, * FROM maps;" case K strSQL = "SELECT TOP 1, * FROM maps;" case A strSQL = "SELECT TOP 1, * FROM maps;" end select
'strSQL = "SELECT TOP 1, * FROM maps;" Set rs = Connect.Execute(strSQL) end if
if NOT rs.EOF then oldID = rs("ID")
%>
det giver denne fejl:
Microsoft OLE DB Provider for ODBC Drivers error '80040e0c'
Hvis du har bofstaver i din case så skal der også "" omkring dem... "M", "A", osv... så
Synes godt om
Ny brugerNybegynder
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.