webForumDet fria alternativet

Öka fältet med +1

ASP

6 svar · 223 visningar · startad av hallmert

Medlem sedan dec. 2004182 inlägg
Frågan#1

Hallå där!

Håller på att scriptar lite. När man skriver i gästboken ska fältet "gb" i tabellen members ökas med +1, så man kan få fram antalet skrivna gästboksinlägg för varje registrerad individ. Varför funkar inte detta?

<!-- #include file="adovbs.inc" -->

<%
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/fanclub.mdb")&";"

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

Addera = "Select * From members update gb+1 where ID = "& request.querystring("fromID")
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

RecSet.Update
RecSet.Close
Connect.Close
Set RecSet = nothing
Set Connect = nothing
%>

<%

Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/fanclub.mdb")&";"

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

Addera = "Select * From gb where id="&Session("id")
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

	RecSet.AddNew

	RecSet("namn") = Session("namn")
	RecSet("datum") = Now()
	RecSet("text") = Request.Form("text")
	RecSet("tillID") = Request.QueryString("ID")
	RecSet("fromID") = Session("id")
	RecSet("readed") = 0
	
	Connect.Execute("update members gb+1 where ID = "& request.querystring("fromID") )

	RecSet.Update
	RecSet.Close
	Connect.Close
	Set RecSet = nothing
	Set Connect = nothing

	If Request.Querystring("typ") = "popup" then
	Response.Redirect "gastbok_svara.asp?meddelande=skickat"
	Else
	Response.Redirect "default.asp?visaSida=gastbok_lasa&ID=" &Request.QueryString("ID")
	End If

%>

Det är fel på första SQL-strängen va?
Tack på förhand!

Medlem sedan nov. 20017 144 inlägg
#2

update members gb=gb+1 where ID = "& request.querystring("fromID")

Medlem sedan nov. 20017 144 inlägg
#3

Detta kan du väl ta bort helt:

<%
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/fanclub.mdb")&";"

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

Addera = "Select * From members update gb+1 where ID = "& request.querystring("fromID")
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

RecSet.Update
RecSet.Close
Connect.Close
Set RecSet = nothing
Set Connect = nothing
%>
Medlem sedan dec. 2004182 inlägg
#4

Hur menar du? Den översta "delen" ska ju uppdatera gb-fältet i tabellen members. Den undre ska ju mata in gästboksinlägget i tabellen gb.

Medlem sedan nov. 20017 144 inlägg
#5

Byt ut resten mot något liknande:

Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/fanclub.mdb")

Connect.Execute("INSERT INTO gb (namn,datum,text,tillID,fromID,readed) VALUES('"& Session("namn") &"','"& Now() &"','"& Request.Form("text") &"',"& Request.QueryString("ID")& ","& Session("id") &",0)"),,128

Connect.Execute("update members gb=gb+1 where ID = "& request.querystring("fromID") ),,128

	Connect.Close
	Set Connect = nothing

	If Request.Querystring("typ") = "popup" then
	Response.Redirect "gastbok_svara.asp?meddelande=skickat"
	Else
	Response.Redirect "default.asp?visaSida=gastbok_lasa&ID=" &Request.QueryString("ID")
	End If
Medlem sedan nov. 20017 144 inlägg
#6

hallmert skrev:

Hur menar du? Den översta "delen" ska ju uppdatera gb-fältet i tabellen members. Den undre ska ju mata in gästboksinlägget i tabellen gb.

Det gör du ju i den andra delen.

update members gb=gb+1 where ID = "& request.querystring("fromID")
Medlem sedan juni 200032 967 inlägg
#7

Jesper T skrev:

update members gb=gb+1 where ID = "& request.querystring("fromID")

Jesper har glömt ett set mellan tabell- och fältnamnet i SQL-frågan. :)

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