A ampy Medlem sedan feb. 2001 1 498 inlägg Trådstart 29 sep. 2001 21:22 #1 Är hela denna kod rätt.
<!-- #include file="adovbs.inc" -->
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("forumet.mdb")&";"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "Select * From personligt"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
RecSet.AddNew
RecSet("namn") = Session("username")
RecSet("epost") = Session("epost")
RecSet("rubrik") = Request.Form("rubrik")
RecSet("inlagg") = Request.Form("inlagg")
RecSet("datum") = Now
RecSet("ipnummer") = Request.ServerVariables("REMOTE_ADDR")
If Request.QueryString("ID") = "svar" Then
RecSet("ref_id") = Request.QueryString("ref_id")
NyPoang = RecSet("poang") + 100
strSQL="UPDATE members SET poang =" & NyPoang & " WHERE ID = " & RecSet("id")
'Response.Write "SQL= " & strSQL
Connect.execute (strSQL)
End If
RecSet.Update
RecSet.Close
If Request.QueryString("ID") = "svar" Then
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "Select * From personligt WHERE id="&Request.QueryString("ref_id")
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
svar = RecSet("antalsvar")
RecSet("antalsvar") = svar + 1
RecSet.Update
RecSet.Close
End If
Connect.Close
Set RecSet = nothing
Set Connect = nothing
Response.Redirect "forum.asp"
%>
För när jag lägger till 100 poäng i databasen så läggs det inte till någontin. Kan ni kolla igenom att jag har skrivit koden rätt.
A ampy Medlem sedan feb. 2001 1 498 inlägg Ska det inte vara efter, om inte hur ska HELA koden se ut i så fall?
I icaaq Medlem sedan okt. 2000 5 273 inlägg jag förstår inte denna denna del:
If Request.QueryString("ID") = "svar" Then
RecSet("ref_id") = Request.QueryString("ref_id")
NyPoang = RecSet("poang") + 100
strSQL="UPDATE members SET poang =" & NyPoang & " WHERE ID = " & RecSet("id")
'Response.Write "SQL= " & strSQL
Connect.execute (strSQL)
End If
[b]RecSet.Update
RecSet.Close[/b]
vad uppdaterar du med den feta texten??
om du bara ska uppdatera poang med hundra kan du göra så här:
strSQL="UPDATE members SET poang = poang + 100 WHERE ID = " & RecSet("id")
'Response.Write "SQL= " & strSQL
Connect.execute (strSQL)
A ampy Medlem sedan feb. 2001 1 498 inlägg Det funkar inte när jag har lagt in koden så att det ser ut så här:
<!-- #include file="adovbs.inc" -->
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("forumet.mdb")&";"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "Select * From personligt"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
RecSet.AddNew
RecSet("namn") = Session("username")
RecSet("epost") = Session("epost")
RecSet("rubrik") = Request.Form("rubrik")
RecSet("inlagg") = Request.Form("inlagg")
RecSet("datum") = Now
RecSet("ipnummer") = Request.ServerVariables("REMOTE_ADDR")
If Request.QueryString("ID") = "svar" Then
RecSet("ref_id") = Request.QueryString("ref_id")
strSQL="UPDATE members SET poang = poang + 100 WHERE ID = " & RecSet("id")
'Response.Write "SQL= " & strSQL
Connect.execute (strSQL)
End If
RecSet.Update
RecSet.Close
If Request.QueryString("ID") = "svar" Then
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "Select * From personligt WHERE id="&Request.QueryString("ref_id")
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
svar = RecSet("antalsvar")
RecSet("antalsvar") = svar + 1
RecSet.Update
RecSet.Close
End If
Connect.Close
Set RecSet = nothing
Set Connect = nothing
Response.Redirect "forum.asp"
%>
Har jag lagt in koden rätt?
I icaaq Medlem sedan okt. 2000 5 273 inlägg Jag skulle gjort så här:
<!-- #include file="adovbs.inc" -->
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("forumet.mdb")&";"
strSQL1 = "INSERT INTO personligt(namn, epost, rubrik, inlagg, ipnummer)VALUES('"&Session("username&"', '"&Session("epost")&"', '"&Request.Form("rubrik")&"', '"&Request.Form("inlagg")&"', #"&now()&"#, '"&Request.Servervariables("REMOTE_ADDR")&"')"
Connect.Execute(strSQL1),,128
If Request.Querystring("ID") ="svar" Then
strSQL2 = "UPDATE members SET poang = poang + 100, antalsvar = antalsvar + 1 WHERE ID = " & Request.QueryString("ref_id")
'Response.Write "SQL= " & strSQL2
Connect.execute (strSQL2),,128
End If
Connect.Close
Set Connect = Nothing
typ så kanske
/r. glömde End If
A ampy Medlem sedan feb. 2001 1 498 inlägg Din kod fungerar inte.
Har du inte någon annan lösning?
J jorgen Medlem sedan feb. 2001 2 412 inlägg Hej!
Jag undviker addnew så långt som möjligt (precis som icaaq).
Men jag hade förändrat icaaqs kod lite:
jag hade kastat bort filen adovbs.inc
jag hade dimmat och definierat variabler istället för att lägga in tex hela Request.Form("rubrik")
kommenterat koden
Men det är en smaksak.
mvh Jörgen
I icaaq Medlem sedan okt. 2000 5 273 inlägg vad får du om du skriver ut SQL-satserna med Response.Write??
A ampy Medlem sedan feb. 2001 1 498 inlägg KODEN FUNGERAR INTE, HUR SKA JAG GÖRA?
J jorgen Medlem sedan feb. 2001 2 412 inlägg Hej!
Lite paranteser var missade:
strSQL1 = "INSERT INTO personligt (namn, epost, rubrik, inlagg, ipnummer)VALUES('"&Session("username")&"', '"&Session("epost")&"', '"&Request.Form("rubrik")&"', '"&Request.Form("inlagg")&"', #"&now()&"#, '"&Request.Servervariables("REMOTE_ADDR")&"')"
Connect.Execute(strSQL1),,128
mvh Jörgen
A ampy Medlem sedan feb. 2001 1 498 inlägg koden fungerar inte, varför fungerar inte denna kod:
<!-- #include file="adovbs.inc" -->
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("forumet.mdb")&";"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "Select * From personligt"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
RecSet.AddNew
RecSet("namn") = Session("username")
RecSet("epost") = Session("epost")
RecSet("rubrik") = Request.Form("rubrik")
RecSet("inlagg") = Request.Form("inlagg")
RecSet("datum") = Now
RecSet("ipnummer") = Request.ServerVariables("REMOTE_ADDR")
If Request.QueryString("ID") = "svar" Then
RecSet("ref_id") = Request.QueryString("ref_id")
End If
RecSet.Update
RecSet.Close
If Request.QueryString("ID") = "svar" Then
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "Select * From personligt WHERE id="&Request.QueryString("ref_id")
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
svar = RecSet("antalsvar")
RecSet("antalsvar") = svar + 1
RecSet.Update
RecSet.Close
End If
Connect.Close
Set RecSet = nothing
Set Connect = nothing
Response.Redirect "forum.asp"
%>
A ampy Medlem sedan feb. 2001 1 498 inlägg Fel kod, varför fungerar inte denna kod?
[kod]
<!-- #include file="adovbs.inc" -->
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("forumet.mdb")&";"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "Select * From personligt"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
RecSet.AddNew
RecSet("namn") = Session("username")
RecSet("epost") = Session("epost")
RecSet("rubrik") = Request.Form("rubrik")
RecSet("inlagg") = Request.Form("inlagg")
RecSet("datum") = Now
RecSet("ipnummer") = Request.ServerVariables("REMOTE_ADDR")
If Request.QueryString("ID") = "svar" Then
RecSet("ref_id") = Request.QueryString("ref_id")
NyPoang = RecSet("poang") + 1
strSQL="UPDATE members SET poang =" & NyPoang & " WHERE ID = " & RecSet("id")
'Response.Write "SQL= " & strSQL
Connect.execute (strSQL)
End If
RecSet.Update
RecSet.Close
If Request.QueryString("ID") = "svar" Then
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "Select * From personligt WHERE id="&Request.QueryString("ref_id")
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
svar = RecSet("antalsvar")
RecSet("antalsvar") = svar + 1
RecSet.Update
RecSet.Close
End If
Connect.Close
Set RecSet = nothing
Set Connect = nothing
Response.Redirect "forum.asp"
%>
I icaaq Medlem sedan okt. 2000 5 273 inlägg en sista fråga:
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("forumet.mdb")&";"
strSQL1 = "INSERT INTO personligt(namn, epost, rubrik, inlagg, datum, ipnummer)VALUES('"&Session("username")&"', '"&Session("epost")&"', '"&Request.Form("rubrik")&"', '"&Request.Form("inlagg")&"', #"&now()&"#, '"&Request.Servervariables("REMOTE_ADDR")&"')"
Response.Write strSQL1 &"<br>"
'Connect.Execute(strSQL1),,128
If Request.Querystring("ID") ="svar" Then
strSQL2 = "UPDATE members SET poang = poang + 100, antalsvar = antalsvar + 1 WHERE ID = " & Request.QueryString("ref_id")
Response.Write strSQL2
'Connect.execute (strSQL2),,128
End If
Connect.Close
Set Connect = Nothing
vad får du om du klistrar in denna kod ?
/r. glömde datum
A ampy Medlem sedan feb. 2001 1 498 inlägg INSERT INTO personligt(namn, epost, rubrik, inlagg, ipnummer)VALUES('webmaster', 'andreazz1986@hotmail.com', 'uyk', 'uy***', #2001-09-30 00:32:41#, '127.0.0.1')
Response-objekt fel 'ASP 0156 : 80004005'
Fel på huvuden
/community/add_post.asp, rad 20
HTTP-huvudena har redan skrivits till klientläsaren. Ändringar till HTTP-huvudena måste göras innan sidinnehållet skrivs.
I icaaq Medlem sedan okt. 2000 5 273 inlägg lägg till:
Response.Buffer = TRUE
Längst upp på sidan....asso på första raden
A ampy Medlem sedan feb. 2001 1 498 inlägg När jag skriver så här:
<!-- #include file="adovbs.inc" -->
<%
Response.Buffer = TRUE
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("forumet.mdb")&";"
strSQL1 = "INSERT INTO personligt(namn, epost, rubrik, inlagg, ipnummer)VALUES('"&Session("username&")', '"&Session("epost")&"', '"&Request.Form("rubrik")&"', '"&Request.Form("inlagg")&"', #"&now()&"#, '"&Request.Servervariables("REMOTE_ADDR")&"')"
Connect.Execute(strSQL1),,128
If Request.Querystring("ID") ="svar" Then
strSQL2 = "UPDATE members SET poang = poang + 100, antalsvar = antalsvar + 1 WHERE ID = " & Request.QueryString("ref_id")
'Response.Write "SQL= " & strSQL2
Connect.execute (strSQL2),,128
End If
Connect.Close
Set Connect = Nothing
Response.Redirect "forum.asp"
%>
så får jag detta felmeddelande:
Microsoft OLE DB Provider for ODBC Drivers fel '80040e14'
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel i sträng i frågeuttrycket '''.
/community/add_post.asp, rad 10
A ampy Medlem sedan feb. 2001 1 498 inlägg Connect.Execute(strSQL1),,128