webForumDet fria alternativet

Hämta information ur databas

ASP

3 svar · 438 visningar · startad av sin_adec

Medlem sedan apr. 2002272 inlägg
Frågan#1

Hej!

Jag använder mig av en access databas, och behöver hämta information from två olika tabeller, men jag får inte det att fungera.

jag har följande kod:

<% 
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("test.mdb")

Set RecSet = Server.CreateObject("ADODB.Recordset")
if request.querystring("id")="" then
SQL = "Select * From uppsatser"
else
SQL = "Select * From uppsatser where id=" & request.querystring("id")
end if
RecSet.Open SQL, Connect, 3, 3
Set RecSet2 = Server.CreateObject("ADODB.Recordset")
if request.querystring("id")="" then
SQL2 ="select * From uppsatsstory where landet="'"& recset("landet") &"'"
else
SQL2 ="select * from uppsatsstory where landet="& request.querystring("landet")&"
end if
RecSet2.Open SQL2, Connect, 3, 3

%>

men när den ska hämta information från uppsatsstory så fungerar det inte.
felmeddelandet jag får är följande:

Source line:

SQL2 ="select * from uppsatsstory where landet="& request.querystring("landet")&"

när man vanligtvis vill hämta information från databasen
så använder man exempelvis

 SQL = select * from tabell where id=" & request.querystring("id")&"

fast min request.querystring("landet") innehåller inte ett nummer som request.querystring("id")

en annan sak jag undrar över, kan man i sin SQL ha med <%=recset("landet")%>, som jag har i

SQL2 ="select * From uppsatsstory where landet="'"& recset("landet") &"'"

tacksam för den hjälp jag kan få.

Medlem sedan juni 20019 519 inlägg
#2

Du avslutar inte en sträng rätt.

SQL2 = "SELECT * FROM uppsatsstory WHERE landet = " & Requet.Querystring("landet")

och ja.. du lan använda dig av ditt andra recordset som en inparameter i din SQL. men då kan du nog lika väl göra en JOIN sats i din SQL?

Medlem sedan aug. 20011 087 inlägg
#3

SQL2 = "SELECT * FROM uppsatsstory WHERE landet = '" & Requset.Querystring("landet") & "'"

Medlem sedan juni 20019 519 inlägg
#4

Som ConnyFox skriver: beroende på vad det är för datatyp i din databas så skall en sträng ha ' ' medans tal inte ska ha det:

<% 
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("test.mdb")

Set RecSet = Server.CreateObject("ADODB.Recordset")
if request.querystring("id") = "" then
	SQL = "Select * From uppsatser"
else
	SQL = "Select * From uppsatser where id=" & request.querystring("id")
end if

RecSet.Open SQL, Connect, 3, 3

Set RecSet2 = Server.CreateObject("ADODB.Recordset")

if request.querystring("id") = "" then
	SQL2 ="select * From uppsatsstory where landet='" & recset("landet") & "'"
else
	SQL2 ="select * from uppsatsstory where landet=" & request.querystring("landet")
end if
RecSet2.Open SQL2, Connect, 3, 3

%>

är den totala ändringen på din kod.

261 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)