webForumDet fria alternativet

Kolla om id finns i databasen?

ASP

4 svar · 218 visningar · startad av netslave

Medlem sedan juni 200470 inlägg
Frågan#1

Hej, försöker att skriva ut "Raderad" om en annons är borttagen och "Finns" om den finns kvar.

Från url:en plockar jag fram id:et och kollar sen i db:n om den finns eller inte.

Som det är nu så skrivs det "Finns" hela tiden oavsett id i url:en. :(

<%id = Request.QueryString("id")%> 

<% Set Databas = Server.CreateObject("ADODB.Connection")
Databas.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("xxxxxxxxxxxxxxxxx.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")

SQL = "SELECT * FROM annonser WHERE id=id"

RecSet.Open SQL, Databas, adOpenStatic, adLockOptimistic %>

<%
If (RecSet.EOF) Then
	Response.Write "Raderad"
Else
	Response.Write "Finns"
End If
%>

<%
RecSet.close
Set RecSet = Nothing
Databas.Close
Set Databas=Nothing
%>
Medlem sedan dec. 20003 563 inlägg
#2

id=id är ju faktiskt rätt sant. ;)

SQL = "SELECT * FROM annonser WHERE id=" & id

däremot.

F.ö. borde du kolla att id är numeriskt (isnumeric()) innan du lägger in variabeln i sql-satsen.

Medlem sedan juni 200470 inlägg
#3

cyprys skrev:

id=id är ju faktiskt rätt sant. ;)

SQL = "SELECT * FROM annonser WHERE id=" & id

däremot.

F.ö. borde du kolla att id är numeriskt (isnumeric()) innan du lägger in variabeln i sql-satsen.

Får tyvärr "[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'id='. " på den raden ovan.

Ska läsa på om (isnumeric()) nu. :) Ska användas så inte databasen hackas?

Medlem sedan juni 20019 519 inlägg
#4

Har du request.querystring:et med dig?
tex main.asp**?id**=1

för om du bara har main.asp och kör sidan så kommer du få felet du hade där...

Medlem sedan dec. 20003 563 inlägg
#5
<%id = Request.QueryString("id")

if isnumeric(id) then

  Set Databas = Server.CreateObject("ADODB.Connection")
  Databas.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &     Server.MapPath("xxxxxxxxxxxxxxxxx.mdb")
  Set RecSet = Server.CreateObject("ADODB.Recordset")

  SQL = "SELECT * FROM annonser WHERE id = " & id

  RecSet.Open SQL, Databas, adOpenStatic, adLockOptimistic 

  If (RecSet.EOF) Then
	Response.Write "Raderad"
  Else
	Response.Write "Finns"
  End If

  RecSet.close : Set RecSet = Nothing
  Databas.Close : Set Databas=Nothing

else

  response.write("Ingen annons vald!")

end if
%>
247 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
119 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)