Tags:
asp
Min strSQL skriver det herud, det er bare der er ikke nogen værdi i idnummer, hvad gør jeg forkert. Er det min måde at bygge min strSQL op der er forkert?
INSERT INTO forumsvar (idnummer,svar) VALUES ('','hej ')
Her opretter jeg min svarnr:
<td width = "200px"><a href="forum.asp?mode=vissvar&svarnr= <%=id%>">Username:<%=username%></a></td>
Her tester jeg om svarnr er forskellig fra tom og hvis laver den så den textarea:
If svarnr <> "" then
%>
<div id = "newforum">
<form method="POST" action="forum.asp" style="margin: 0px;">
<textarea rows="5" cols="22" name="forum"></textarea><br>
<input type="submit" value= "Tilføj" name="Action">
</form>
</div>
<%
End if
strTekst = Request.Form("forum")
strTekst = Replace(strTekst, "'", "''")
strTal = Request.Querystring("svarnr")
strTal = Replace(strTal, "'", "''")
If Request.Form("Action") = "Tilføj" then
'Database kontakt
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Mode = 3
DNS = "DRIVER={Microsoft Access Driver (*.mdb)};"
DNS = DNS & "DBQ=" & Server.Mappath("login_2000.mdb")
'Database åben
Conn.Open DNS
'strSQL = "INSERT INTO forumsvar ([idnummer],svar) VALUES ( "& strTal &" ,'" & strTekst & "')"
'strSQL = "INSERT INTO forumsvar (idnummer,svar) VALUES ('" & Request.QueryString("svarnr") & "', '"& strTekst & "')"
strSQL = "INSERT INTO forumsvar (idnummer,svar) VALUES ('"& strTAL &"','"& strTekst &"')"
Response.Write (strSQL)
End if
%>
Så prøv dig lidt frem - fx:
strSQL = "INSERT INTO forumsvar (idnummer,svar) VALUES (" & strTAL & ", '" & strTekst & "')"
eller
strSQL = "INSERT INTO forumsvar (idnummer,svar) VALUES ('" & strTAL & "', '" & strTekst & "')"
osv.
Jeg har fundet fejlen, men ved ikke hvordan jeg gør det om.. Det er mit svarnr som forsvinder når jeg håber ind i min if her, jeg smider lige hele koden op.?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
<head><title>DoWnUnDeR</title></head>
<body bgcolor = "3f3f3f" link="blue" alink="blue" vlink="violet">
<%
mode = request("mode")
svarnr = request("svarnr")
If mode = "" then
Set Conn = Server.Createobject("ADODB.Connection")
Conn.Mode = 3
DNS = "DRIVER={Microsoft Access Driver (*.mdb)};"
DNS = DNS & "DBQ=" & Server.Mappath("login_2000.mdb")
'Database åben
Conn.Open DNS
strSQL = "Select * from forum"
Set rs = Conn.Execute(strSQL)
'Hvis der indlæg er
If rs.eof or rs.bof then
%>
Ingen indlæg
<%
Else
'Lopper alle tags igennem med en løkke
Do
username = rs("username")
titel = rs("titel")
id = rs("id")
%>
<table border = "1px" width = "400px">
<tr>
<td width = "200px"><a href="forum.asp?mode=vissvar&svarnr= <%=id%>">Username:<%=username%></a></td>
<td width = "200px"><a href="forum.asp?mode=vissvar&svarnr= <%=id%>">Titel: <%=titel%></a>
</tr><br>
</table>
<%
rs.movenext
Loop while not rs.EOF
End if
rs.Close
Conn.Close
Set rs = Nothing
Set Conn = Nothing
End if
If mode = "vissvar" and svarnr <> "" then
Set Conn = Server.Createobject("ADODB.Connection")
Conn.Mode = 3
DNS = "DRIVER={Microsoft Access Driver (*.mdb)};"
DNS = DNS & "DBQ=" & Server.Mappath("login_2000.mdb")
'Database åben
Conn.Open DNS
strSQL = "Select * from forumsvar where idnummer = " & svarnr
Set rs = Conn.Execute(strSQL)
'Hvis der indlæg er
If rs.eof or rs.bof then
%>
Ingen svar
<%
Else
'Lopper alle tags igennem med en løkke
Do
username = Session("username")
svar = rs("svar")
%>
<table border = "1px" width = "400px">
<tr><td width = "400px">Username:<%=username%></td></tr>
<tr><td width = "400px" heigth = "200px"><%=svar%></td></tr>
</table><br>
<%
rs.movenext
Loop while not rs.EOF
End if
rs.Close
Conn.Close
Set rs = Nothing
Set Conn = Nothing
End if
If svarnr <> "" then
%>
<div id = "newforum">
<form method="POST" action="forum.asp?mode=action" style="margin: 0px;">
<textarea rows="5" cols="22" name="forum"></textarea><br>
<input type="submit" value= "Tilføj" name="Action">
</form>
</div>
<%
End if
strTekst = Request.Form("forum")
strTekst = Replace(strTekst, "'", "''")
strTal = Request.Querystring("svarnr")
strTal = Replace(strTal, "'", "''")
If mode="Action" then
If Request.Form("Action") = "Tilføj" then
'Database kontakt
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Mode = 3
DNS = "DRIVER={Microsoft Access Driver (*.mdb)};"
DNS = DNS & "DBQ=" & Server.Mappath("login_2000.mdb")
'Database åben
Conn.Open DNS
'strSQL = "INSERT INTO forumsvar ([idnummer],svar) VALUES ( "& strTal &" ,'" & strTekst & "')"
'strSQL = "INSERT INTO forumsvar (idnummer,svar) VALUES ('" & Request.QueryString("svarnr") & "', '"& strTekst & "')"
'strSQL = "INSERT INTO forumsvar (idnummer,svar) VALUES ('"& strTAL &"','"& strTekst &"')"'
'strSQL = "INSERT INTO forumsvar (idnummer,svar) VALUES (" & Int(strTAL) & ", '" & strTekst & "')"
'strSQL = "INSERT INTO forumsvar (idnummer,svar) VALUES (" & CStr(CInt(strTAL)) & ", '" & strTekst & "')"
'Response.Write "<h1>Hej " & Request.Querystring("svarnr") & "</h1>"
'strSQL = "INSERT INTO forumsvar(idnummer,svar) VALUES(NULL, 'hej ')"
strSQL = "Insert into forumsvar(idnummer) values('" & Request.QueryString("svarnr") & "')"
Response.Write (strSQL)
'Creste object recordset
'Conn.Execute(strSQL)
'Conn.Close
'Set Conn = Nothing
End if
End if
%>
</body>
Prøv at præcisere det lidt.
Response.Write "<h1>Hej " & Request.Querystring("svarnr") & "</h1>"
if svarnr <> "" then
%>
<div id = "newforum">
<form method="POST" action="forum.asp" style="margin: 0px;">
<textarea rows="5" cols="22" name="forum"></textarea><br>
<input type="submit" value= "Tilføj" name="Action">
</form>
</div>
<%
End if
strTekst = Request.Form("forum")
strTekst = Replace(strTekst, "'", "''")
strTal = Request.Querystring("svarnr")
strTal = Replace(strTal, "'", "''")
If Request.Form("Action") = "Tilføj" then
'Database kontakt
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Mode = 3
DNS = "DRIVER={Microsoft Access Driver (*.mdb)};"
DNS = DNS & "DBQ=" & Server.Mappath("login_2000.mdb")
'Database åben
Conn.Open DNS
'strSQL = "INSERT INTO forumsvar ([idnummer],svar) VALUES ( "& strTal &" ,'" & strTekst & "')"
'strSQL = "INSERT INTO forumsvar (idnummer,svar) VALUES ('" & Request.QueryString("svarnr") & "', '"& strTekst & "')"
'strSQL = "INSERT INTO forumsvar (idnummer,svar) VALUES ('"& strTAL &"','"& strTekst &"')"'
'strSQL = "INSERT INTO forumsvar (idnummer,svar) VALUES (" & Int(strTAL) & ", '" & strTekst & "')"
'strSQL = "INSERT INTO forumsvar (idnummer,svar) VALUES (" & CStr(CInt(strTAL)) & ", '" & strTekst & "')"
'Response.Write "<h1>Hej " & Request.Querystring("svarnr") & "</h1>"
'strSQL = "INSERT INTO forumsvar(idnummer,svar) VALUES(NULL, 'hej ')"
Response.Write "<h1>Hej " & Request.Querystring("svarnr") & "</h1>"
strSQL = "Insert into forumsvar(idnummer) values('" & Request.QueryString("svarnr") & "')"
Response.Write "<h1>Hej " & Request.Querystring("svarnr") & "</h1>"
Response.Write (strSQL)
'Creste object recordset
'Conn.Execute(strSQL)
'Conn.Close
'Set Conn = Nothing
End if
%>
</body>
Når jeg fjerner den form der så virker det?
Den fjerner værdien af min svarnr.
Det ved jeg ikke. Du må prøve at lave en lidt mere struktureret fejlsøgning så.
Det er som om når jeg fjerne den form der så virker det bare....
<div id = "newforum">
<form method="POST" action="forum.asp" style="margin: 0px;">
<textarea rows="5" cols="22" name="forum"></textarea><br>
<input type="submit" value= "Tilføj" name="Action">
</form>
</div>
Det er den som giver problemer?