27. juli 2004 - 10:00Der er
9 kommentarer og 1 løsning
delete fra access database
hej
Jeg vil gerne kunne slette nogle poster fra en database. Først finder jeg posten ved hjælp af dette:
set strConn = Server.CreateObject("ADODB.connection") set rs = Server.CreateObject("ADODB.recordset") strConn.open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & strPlacering strSQL ="SELECT * from spoergsmol ORDER by id desc" rs.open strSQL, strConn, adOpenStatic, adLockOptimistic
%>
<tr><td valign="top"><div id="svarfelt"> <br><br>Vælg spørgsmål fra databasen<br><br><form action="adm_slet_sp.asp" name="sletsp" method="post"> <select name="slet" style="width: 150px"> <% do Response.Write "<option value=""" & rs.fields("titel") & """>" & rs.fields("titel") & "</option>" rs.movenext Loop while not rs.EOF
sletsp = Request.Form("slet") find_post(sletsp) sub find_post(sletsp) set objConn = Server.CreateObject("ADODB.connection") set rs = Server.CreateObject("ADODB.recordset") objConn.open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & strPlacering strSQL ="SELECT * from spoergsmol ORDER BY id desc" rs.open strSQL, objConn, adOpenStatic, adLockOptimistic
do while not(rs.EOF) if (rs.fields("titel") = sletsp) then
id = rs.fields("id") email = rs.fields("email") fornavn = rs.fields("fornavn") efternavn = rs.fields("efternavn") titel = rs.fields("titel") spoergsmol = rs.fields("spoergsmol") svar = rs.fields("svar") exit do end if rs.MoveNext loop
rs.close set rs = nothing objConn.close set objConn = nothing end sub
og så kan jeg ikke komme længere. jeg har prøvet utallige udgaver af det her:
sub slet_post set objConn = Server.CreateObject("ADODB.connection") objConn.open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & strPlacering strSQL ="DELETE from spoergsmol WHERE id='" & id & "'" set objRec = objConn.execute(strSQL) response.Redirect("adm_slet_sp.asp") end sub objConn.close set objConn = nothing
min kode på side 2 er : sub slet_post set objConn = Server.CreateObject("ADODB.connection") objConn.open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & strPlacering strSQL = "DELETE * FROM spoergsmol WHERE ID=" & Request("ID") objConn.Execute (strSQL)
end sub
response.Redirect("adm_slet_sp.asp") objConn.close set objConn = nothing set strSQL = nothing
Hvis jeg bruger denne sætning får jeg denne fejl: <a href="adm_slet.asp?id=<%=rs("id")%>">slet post</a>
Fejltype: Der opstod en Microsoft VBScript-kørselsfejl (0x800A000D) Typer stemmer ikke overens /forum/adm_slet_sp.asp, line 103
Bruger jeg det her sker der ingenting. sub slet_post set objConn = Server.CreateObject("ADODB.connection") objConn.open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & strPlacering strSQL = "DELETE * FROM spoergsmol WHERE ID=" & Request("ID") objConn.Execute (strSQL) rs.delete rs.update end sub
response.Redirect("adm_slet_sp.asp") objConn.close set objConn = nothing set strSQL = nothing
Min connect ser sådan ud. Den burde virker da jeg kan indsætte og opdatere databasen uden problemer.
er jo 2 forskellige filer. er du sikker på det er det ikke er et andet sted fejlen forekommer ? og hvorfor kører du db connect og slet streng i en sub ?
den side dit link henviser til
en_side.asp?id=<%=rs("id") %>
skal indeholde
strSQL = "DELETE * FROM spoergsmol WHERE ID=" & Request("ID")
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.