webForumDet fria alternativet

Hämta ID en gång till

ASP

3 svar · 183 visningar · startad av ampy

Medlem sedan feb. 20011 498 inlägg
Frågan#1
<%

Set con = Server.CreateObject("ADODB.Connection")
con.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../db/lankar-kommentarer.mdb")
Dim Con
Dim rst
Dim strSQL
Const adOpenStatic = 3
Const adLockReadOnly = 1
Const adCmdText = 1
strSQL = "Select * from lankar WHERE id ="& Request.Querystring("id")

Set rst = Server.CreateObject("ADODB.Recordset")
rst.Open strSQL, Con, adOpenStatic, _
adLockReadOnly, adCmdText
%>

<TABLE height="*" bgColor=#FFFFFF cellpadding="2" cellspacing="3" borderColor=#000000 width=520 cellSpacing=0 borderColorLight=#000000 border=0 style="BORDER-BOTTOM: #000000 1px solid;  BORDER-TOP: #000000 1px solid; BORDER-RIGHT: #000000 1px solid; BORDER-LEFT: #000000 1px solid" borderColor=#000000 >
 
	<TR>
    		<TD style="BORDER-BOTTOM: #000000 1px dotted" width=490><FONT face=tahoma color=#000000 size=2>
		<b><a href="recension.asp?vad=kolla" target="_blank"><% =rst("namn")%></a></b><br>
		</TD>
	
		<TD style="BORDER-BOTTOM: #000000 1px dotted" width=30><FONT face=Verdana color=#006600 size=2>
		<b><% =rst("betyg")%>/10</b>

		</TR>

	<TR><TD><font size="1" face="verdana"><br>
		<% =rst("kommentar")%>

		

<br><br>

<table border="0">

<TR>
    		<TD width=255><FONT face=verdana color=#000000 size=1>
		<b>Antal besök:</b> <% =rst("klick")%> st<br>
		</TD>
	
		<TD width=265><FONT face=Verdana color=#000000 size=1>
		<b>Senaste besöket:</b> <% =rst("senasteklick")%>

		</TR>

</table>
</td></tr>

<tr>
<td>
<a href="http://www.webtipsen.net/ampy.gif" target="_blank"><img src="http://www.webtipsen.net/ampy.gif" border="0" width="100" height="70"></a>
</td>
</tr>

<tr>
<td><FONT face=verdana color=#000000 size=1>
<i>Denna recension skrev Jeppe den <% =rst("skrevs")%>.</i>
</td></tr>
</table>

<%

If Request.Querystring("vad") = "kolla" Then

	rst.Update

	ID = request.querystring("id")
	Databas.Execute("UPDATE lankar Set klick=klick+1 WHERE id='"&ID&"'")
	rst("senasteklick") = Now
	
	rst.Update
	
	

	

End If
%>

När jag klickar på länken får jag detta felmeddelande:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel (operator saknas) i frågeuttrycket 'id ='.
/ampy/lankar/kommentarer/recension.asp, line 79

Hur ska jag göra för att hämta id:t en gång till?

------------------
Ampy.cjb.net

Medlem sedan dec. 200012 464 inlägg
#2

Du är inkonsekvent när du använder kolumnen id i dina sql-frågor.

strSQL = "Select * from lankar WHERE id ="& Request.Querystring("id")
Databas.Execute("UPDATE lankar Set klick=klick+1 WHERE id='"&ID&"'")

I det första fallet hanterar du det som en numerisk kolumn och i det andra fallet som en kolumn av typen text.

Ditt felmedelande indikerar att du inte skickar något värde i request.querystring("ID")

------------------
essentitia preter non sans multiplicandum

Medlem sedan feb. 20011 498 inlägg
#3

LarsG, jag fattar inte riktigt vad du menar, vilka koder ska jag byta ut?

------------------
Ampy.cjb.net

Medlem sedan dec. 200012 464 inlägg
#4

Det beror på hur kolumnen ID är definierad. Om det är numeriskt (eller räknare, som nästan alla kolumner med namn ID) så får du ta bort apostroferna.

Varför du inte får något värde i request.quersystring beror ju mer på den anropande sidan så det är svårt att säga något om det.

------------------
essentitia preter non sans multiplicandum

261 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)