Frågan 17 dec. 2002 20:59 #1 Behöver bara lite hjälp har.
<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=databas.mdb"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM info"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
RecSet.AddNew
RecSet("aid") = Request.QueryString("aid")
RecSet("site") = Request.QueryString("site")
RecSet.Update
RecSet.Close
Connect.Close %>
aid, är en specific id (i access), jag skulle behöva en script typ:
If aid exists then +1 on number (update någonting)
If not then 1
Enkel räknare alltså, om det redan finns en kolumn för specifika id'et plusa 1 i "raknare" (Namnet på fältet i access)
L LarsG Medlem sedan dec. 2000 12 464 inlägg <%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=databas.mdb"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM info where aid " & _
Request.QueryString("aid")
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
if recset.eof then
RecSet.AddNew
RecSet("site") = Request.QueryString("site")
Recset("raknare") = 1
else
Recset("raknare") = clng(recset("raknare")) + 1
end if
RecSet.Update
RecSet.Close
Connect.Close
%>
T theland Medlem sedan dec. 2002 9 inlägg objConn.Execute "UPDATE Table SET Col2 = Col2+1 WHERE Col1 = 1"
Att använda SQL-frågor istället för att skriva till ett recordset är bättre rent prestandamässigt ;-)
/TobiasT
http://webbhotell.theland.se - varför betala mer än nödvändigt?
Skapade en ny databas istället.
Men den skriver inte till ett nytt "aid" för varje nytt ID i QueryStringen, utan fortsätter bara + på det första aid.
<html>
<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=track.mdb"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM track2"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
if recset.eof then
RecSet.AddNew
RecSet("aid") = Request.QueryString("id")
Recset("raknare") = 1
else
Recset("raknare") = clng(recset("raknare")) + 1
end if
RecSet.Update
RecSet.Close
Connect.Close
%>
</HTML>
S solbulle Medlem sedan mars 2001 5 287 inlägg Vad var det för fel på LarsGs script?
Du måste i din sql-fråga ställa villkoret "where aid" osv, som LarsG gjort.
ADODB.Recordset error '800a0bb9'
Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.
/raknare.asp, line 9
Problemet, är att jag inte har AID, det hämtas från QueryStringen (?ID=), sedan dumpade jag "Site"
S solbulle Medlem sedan mars 2001 5 287 inlägg Addera = "SELECT * FROM info where aid " & _
Request.QueryString("ID")
Eller missar jag något?
Annars kan iofs felmeddelandet tyda på att du behandlar tal som text eller vice versa.
Bytta namn på databasen, och fälten är "number".
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=track2.mdb"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM track2 where aid " & _
Request.QueryString("id")
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
if recset.eof then
RecSet.AddNew
RecSet("aid") = Request.QueryString("id")
Recset("raknare") = 1
else
Recset("raknare") = clng(recset("raknare")) + 1
end if
RecSet.Update
RecSet.Close
Connect.Close
%>
L LarsG Medlem sedan dec. 2000 12 464 inlägg <%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=track2.mdb"
Set RecSet = Server.CreateObject("ADODB.Recordset")
if Request.QueryString("id") <> "" then
Addera = "SELECT * FROM track2 where aid = " & _
Request.QueryString("id")
else
Addera = "SELECT * FROM track2 where 1=2"
end if
RecSet.Open Addera, Connect, 3,3
if recset.eof then
RecSet.AddNew
RecSet("aid") = Request.QueryString("id")
Recset("raknare") = 1
else
Recset("raknare") = clng(recset("raknare")) + 1
end if
RecSet.Update
RecSet.Close
Connect.Close
%>
Jag hade missat ett = i min första post. En orsak till meddelandet kan vara att adLockOptimistic etc inte är definierade, därför bytte jag dom.
S solbulle Medlem sedan mars 2001 5 287 inlägg Herre min skapare! Å inte såg jag det heller, men man kan ju inte tvivla på LarsG, ;) eller? :birp