09. februar 2006 - 21:14Der er
15 kommentarer og 1 løsning
Slette post i Access database
Jeg har en side hvor jeg kalder poster fra en access database frem i en tabel, koden ser således ud:
<% Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("database.mdb") set rs = Conn.execute(strSQL)
if rs.EOF then Response.write "" else Do Until rs.EOF %> <% If (i MOD 2 = 0) Then bg = "#B9C9DC" Else bg = "#A2B3C6" End If i = i + 1 %>
<tr style="background-color: <%=bg%>;"> <td><img src="gfx/<%=RS("inf1")%>.gif"></td> <td><a href="<%=RS("inf8")%>" TARGET="_blank"><%=RS("inf2")%></a></td> <td><%=RS("inf3")%></td> <td><%=RS("inf4")%></td> <td><%=RS("inf5")%></td> <td><img src="gfx/<%=RS("inf6")%>.gif"></td> <td><%=RS("inf7")%></td> </tr> <%RS.MoveNext Loop end if
Conn.Close Set Conn = Nothing%>
Men, jeg vil gerne have en ekstra <td> med en knap der kan slette den pågældende post, altså så der kommer en knap i hver enkelt <tr> som kan slette den aktuelle post fra databasen.
arh... det kan nu godt gøres lidt nemmere og smartere end dette... Hvad med bare at sætte en knap ind som ved klik linker til en "slette-side"? - sådan her: <% Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("database.mdb") set rs = Conn.execute(strSQL)
if rs.EOF then Response.write "" else Do Until rs.EOF %> <% If (i MOD 2 = 0) Then bg = "#B9C9DC" Else bg = "#A2B3C6" End If i = i + 1 %>
<tr style="background-color: <%=bg%>;"> <td><img src="gfx/<%=RS("inf1")%>.gif"></td> <td><a href="<%=RS("inf8")%>" TARGET="_blank"><%=RS("inf2")%></a></td> <td><%=RS("inf3")%></td> <td><%=RS("inf4")%></td> <td><%=RS("inf5")%></td> <td><img src="gfx/<%=RS("inf6")%>.gif"></td> <td><%=RS("inf7")%></td> <td><input type="button" value="Slet" onclick="document.location('sletpost.asp?id=\\DIT ID PÅ POSTEN!//')" name="slet"></td> </tr> <%RS.MoveNext Loop end if
Conn.Close Set Conn = Nothing%>
Der hvor der nu står "\\DIT ID PÅ POSTEN!//" skal du ændre til den kollonne du har i din database som er din primærnøgle... den hedder som regel "id" eller sådan noget... Dernæst skal vi vel også se på den asp-fil som hedder "sletpost.asp"...
flashit! Jo, det var formentlig det samme som du skrev... Bortset fra at jeg kom med et eksempel og at du ikke gjorde men "bare" kom med et par links til løsningen... Og jeg ville bare pointere at her er der ingen grund til noget "form-action"... Dette ville kun gøre det hele mere besværligt en der er grund til...
- Dette var ikke et forsøg på at tage æren fra hverken dig eller nogen anden! Jeg ville blot vise et konkret eksempel og ville dermed supplere dit svar...
well, faktisk brugte jeg et link istedet da knappen lavede uorden i min tabel ; <td><a href="delete.asp?id=<%=RS("ID")%>">Slet</a></td> men tak for svarene...
Jeg har på arbejde været ude for at vores søgemaskine slettede alle posterne i en application, hvor jeg brugte et "a href" til at slette med. Du skal nok sætte en "er du sikker" på, så det ikke kan ske. Jeg ved ikke om det er et problem andre steder, da jeg altid (NU) bruger en knap :-)
det kan vel ikke lade sig gøre når siden kræver login ?
Synes godt om
Ny brugerNybegynder
Din løsning...
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.