talværdi i sql streng?

Tags:    asp

<< < 123 > >>
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?



<< < 123 > >>
t