Hjälp
67 svar · 266 visningar · startad av jboy_87 · sida 2 av 4
do_delete2
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][Drivrutin för ODBC Microsoft Access] För få parametrar angavs. 1 förväntades.
/do_delete2.asp, line 15
<!-- #include file="adovbs.inc" -->
<% If NOT session("login") = "ok" THEN %>
<%Session("meddelande") = "Du måste logga in för att kunna besöka den begärda sidan" %>
<script language = "javascript">
top.location.href='default.asp';
</script>
<% end if%>
<%Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("Database/gb.mdb")&";"
sql = "delete From gb Where ID=" &Request.QueryString("delID")
sql = sql & " and (name = '" & session("name") & "' or tillid = " & session("id") & ")"
[b]connect.execute sql,rows,128[/b]
if rows = 0 then
response.write "Du får bara ta bort dina inlägg eller de som är skriva till dig"
end if
connect.close
Set Connect = nothing
Response.Redirect "read_gb.asp?tillid=" & session("id")
%>
------------------
ASP är bäst fuck the rest!!!
Hur ser din tabell ut? Felet beror på att det är något kolumnnamn i delete-satsen som inte stämmer med tabelldefinitionen.
------------------
essentitia preter non sans multiplicandum
id = id
username = användarnamn
fnamn = förnamn
enamn = efternamn
------------------
ASP är bäst fuck the rest!!!
Det skall vara namn istf name i deleete-satsen
sql = "delete From gb Where ID=" &Request.QueryString("delID")
sql = sql & " and (namn = '" & session("namn") & "' or tillid = " & session("id") & ")"
------------------
essentitia preter non sans multiplicandum
nu går det inte och radera bort igen
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel (operator saknas) i frågeuttrycket 'ID= and (namn = 'Josef Kalkana' or tillid = 2)'.
/do_delete2.asp, line 15
------------------
ASP är bäst fuck the rest!!!
snälla nån snart är det klart säkert bara några fel snuttar
------------------
ASP är bäst fuck the rest!!!
skriver ut ta bort länken:
<% If clng(recset("tillid")) = clng(Session("id")) or cstr(session("namn")) = cstr(recset("namn")) Then %>
- <a href="do_delete2.asp?id=<%=RecSet("ID")%>">
<font size="1" face="Verdana">Ta bort.</font></a></font><%End If%>
</td>
</tr>
Delete:
<%Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("Database/gb.mdb")&";"
sql = "delete From gb Where ID=" &Request.QueryString("delID")
sql = sql & " and (id = '" & session("namn") & "' or tillid = " & session("namn") & ")"
connect.execute sql,rows,128
if rows = 0 then
response.write "Du får bara ta bort dina inlägg eller de som är skriva till dig"
end if
connect.close
Set Connect = nothing
Response.Redirect "read_gb.asp?tillid=" & session("id")
%>
------------------
ASP är bäst fuck the rest!!!
I delete-länken så står det
delete_2.asp?id
men sedan i delete_2 så använder du
request.querystring("delid").
Då det inte finns någon sådan variabel i querystring så blir det en tom sträng när du bygger ihop delete-satsen.
Om du ändrar till
delete_2.asp?delid
så kanske
------------------
essentitia preter non sans multiplicandum
så bra.
------------------
essentitia preter non sans multiplicandum
[Redigerat av LarsG den 19 nov 2001]
men Lars fan ännu ett problem när jag klickar på användaren och kollar in hans gästbok och vill radera de inlägg jag skrev så funkar det får felmeddelandet:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][Drivrutin för ODBC Microsoft Access] Typblandningsfel i villkorsuttryck.
/do_delete2.asp, line 15
<%Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("Database/gb.mdb")&";"
sql = "delete From gb Where ID=" &Request.QueryString("delID")
sql = sql & " and (id = '" & session("namn") & "' or tillid = " & session("id") & ")"
[b]connect.execute sql,rows,128[/b]
if rows = 0 then
response.write "Du får bara ta bort dina inlägg eller de som är skriva till dig"
end if
connect.close
Set Connect = nothing
Response.Redirect "read_gb.asp?tillid=" & session("id")
%>
------------------
ASP är bäst fuck the rest!!!
Vide: rows borde efter execute innehålla RecordsAffected, alltså ett värde som berättar hur många poster som påverkades av SQL-frågan.
JBoy, vad är det för datatyper i tabellen på de fält du använder i SQL-frågan?
Mvh,
------------------
All your base are belong to me.
har gjort såhär:
och det funkar tror jag!!
<%Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("Database/gb.mdb")&";"
Set RecSet = Server.CreateObject("ADODB.Recordset")
sql = "delete From gb Where ID=" &Request.QueryString("delID")
sql = sql & " and (id = '" & session("namn") & "' or tillid = " & session("id") & ")"
on error resume next
connect.execute sql,,128
Addera = "Select * From gb Where ID=" &Request.QueryString("delID")
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
RecSet.Delete
RecSet.Update
RecSet.Close
Set RecSet = nothing
Set Connect = nothing
connect.close
Set Connect = nothing
Response.Redirect "read_gb.asp?tillid=" & session("id")
%>
------------------
ASP är bäst fuck the rest!!!
Uhm, vad var det svar på? Vad är vad?
Din SQL-fråga ser konstig ut. Du anger id på två ställen, den ena anger du som ett textfält, den andra som ett tal, och dessutom jämför du med olika värden och ett AND emellan.
Jag markerar med fett nedan. Skall det id verkligen vara ID, inte något annat fält?
sql = "delete From gb Where ID=" &Request.QueryString("delID")
sql = sql & " and ([b]id[/b] = '" & session("namn") & "' or tillid = " & session("id") & ")"
Mvh,
------------------
All your base are belong to me.