webForumDet fria alternativet

Varför funkar inte...?

ASP

27 svar · 295 visningar · startad av ampy

Medlem sedan feb. 20011 498 inlägg
Frågan#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.

Medlem sedan okt. 20005 273 inlägg
#2

/r. ska kolla mer .. :r

------------------
Korvfarbror--Med ring på fingret

[Redigerat av icaaq den 29 sep 2001]

Medlem sedan feb. 20011 498 inlägg
#3

Ska det inte vara efter, om inte hur ska HELA koden se ut i så fall?

Medlem sedan okt. 20005 273 inlägg
#4

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)

:)

------------------
Korvfarbror--Med ring på fingret

[Redigerat av icaaq den 29 sep 2001]

Medlem sedan feb. 20011 498 inlägg
#5

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?

Medlem sedan okt. 20005 273 inlägg
#6

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 :r

------------------
Korvfarbror--Med ring på fingret

[Redigerat av icaaq den 30 sep 2001]

Medlem sedan feb. 20011 498 inlägg
#7

Din kod fungerar inte.
Har du inte någon annan lösning?

Medlem sedan okt. 20005 273 inlägg
#8

blir det nått felmess?

------------------
Korvfarbror--Med ring på fingret

Medlem sedan feb. 20012 412 inlägg
#9

Hej!

Jag undviker addnew så långt som möjligt (precis som icaaq).

Men jag hade förändrat icaaqs kod lite:

  1. jag hade kastat bort filen adovbs.inc
  2. jag hade dimmat och definierat variabler istället för att lägga in tex hela Request.Form("rubrik")
  3. kommenterat koden

Men det är en smaksak.

mvh Jörgen :)

------------------
Varför bråka när man kan kramas?

Medlem sedan okt. 20005 273 inlägg
#10

vad får du om du skriver ut SQL-satserna med Response.Write??

------------------
Korvfarbror--Med ring på fingret

Medlem sedan feb. 20011 498 inlägg
#11

KODEN FUNGERAR INTE, HUR SKA JAG GÖRA?

Medlem sedan feb. 20012 412 inlägg
#12

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 :)

------------------
Varför bråka när man kan kramas?

[Redigerat av jorgen den 30 sep 2001]

Medlem sedan feb. 20011 498 inlägg
#13

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"

%>
Medlem sedan feb. 20011 498 inlägg
#14

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"

%>

Medlem sedan okt. 20005 273 inlägg
#15

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 :r
------------------
Korvfarbror--Med ring på fingret

[Redigerat av icaaq den 30 sep 2001]

Medlem sedan feb. 20011 498 inlägg
#16

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.

Medlem sedan okt. 20005 273 inlägg
#17

lägg till:

Response.Buffer = TRUE

Längst upp på sidan....asso på första raden ;)

------------------
Korvfarbror--Med ring på fingret

Medlem sedan feb. 20011 498 inlägg
#18

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

Medlem sedan feb. 20012 412 inlägg
#19

Vilken är rad 10 ?

------------------
Varför bråka när man kan kramas?

Medlem sedan feb. 20011 498 inlägg
#20

Connect.Execute(strSQL1),,128

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