|
| Sletning i database gennem Form Fra : trEx |
Dato : 15-04-01 20:12 |
|
Hej
Jeg skal have lavet et script der kan slette en nyhed i en database hvor man
skal skrive i en <form> hvad den skal slette.
Mit Script ser sådan ud :
<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("news.mdb")
Conn.Open DSN
' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
If Request.Form("slet") <> "" Then
strSQL = "Delete from news where overskrift = " & Request.Form("slet") & ""
Conn.Execute(strSQL)
rs.Close
Set rs = Nothing
End if
%>
<html>
<head>
<title>Nyheder</title>
</head>
<body style="background-color: #32679C">
<div align="center"><center><table width="488" border="0" cellspacing="0"
cellpadding="3">
<tr>
<td width="488"><span style="text-decoration: overline"><u><font
face="Arial" size="6" color="#FFFFFF">|Slet
Nyheder|</font></u></span><br><br><font face="Arial" size="2"
color="#FFFFFF">Indtast den information du vil slette i The Complex's
nyhedsbrev. <br><br></font></td>
</tr>
<tr align="center">
<td width="100%">
<form method="POST" action="default.asp">
</form>
<table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td valign="middle" align="left" colspan="2"><font face="arial"
size="2" color="#FFFFFF"><B>
</B>Indtast venligst oplysningerne i følgende felter :<B><br>
</B></font></td>
</tr>
<tr>
<td valign="middle" align="left"><div align="left"><p><font
face="arial" size="2" color="#FFFFFF">Overskrift</font></td>
<td valign="middle" align="left"><input type="text" name="slet"
size="40"></td>
</tr>
<tr>
<td valign="middle" align="left" colspan="2"><br>
<input type="submit" value="slet" name="slet"> <input
type="button" value="Annuller" name="Annuller"
onClick="javascript:history.back();"></td>
</tr>
</table>
</form>
</tr>
</table>
</center></div>
</body>
</html>
Hvad er fejlen, der sker nemlig ikke noget når jeg trykker på knappen Slet.
Mvh
Kenneth
| |
Jørn Andersen (17-04-2001)
| Kommentar Fra : Jørn Andersen |
Dato : 17-04-01 15:20 |
|
On Sun, 15 Apr 2001 21:11:45 +0200, "trEx" <amd900athlon@hotmail.com>
wrote:
Hej Kenneth,
Jeg kan ikke lige gennemskue hele dit script (jeg er selv nybegynder),
men jeg tror i hvert fald, at jeg har fundet et par fejl:
<SNIP>
>Conn.Open DSN
>
>
>' Luk databaseforbindelse
>Conn.Close
>Set Conn = Nothing
Her lukker du forbindelsen lige efter at du har åbnet den - og inden
du bruger forbindelsen til noget.
>If Request.Form("slet") <> "" Then
>strSQL = "Delete from news where overskrift = " & Request.Form("slet") & ""
<SNIP>
> <td valign="middle" align="left"><input type="text" name="slet"
>size="40"></td>
> </tr>
> <tr>
> <td valign="middle" align="left" colspan="2"><br>
> <input type="submit" value="slet" name="slet">
Både dit tekst felt og din submit-knap hedder "slet", så hvad bliver
værdien af din SQL-streng?
Et hint, som kan gøre det lettere at fejlfinde:
Indsæt nogle "Response.Write" undervejs, så du får vist hvad dine
variable er.
I dette tilfælde kunne du sikkert få gavn af:
Response.Write Request.Form("slet")
og
Response.Write strSQL
- så tror jeg du bliver klogere.
Mens du laver dette, skal du ukommentere denne linie med _'_
' Conn.Execute(strSQL)
Når det så virker, kan du fjerne alle overflødige Response.Write
<SNIP resten>
Good luck,
Jørn Andersen
Brønshøj
| |
Carsten Keller (18-04-2001)
| Kommentar Fra : Carsten Keller |
Dato : 18-04-01 06:31 |
|
"trEx" <amd900athlon@hotmail.com> wrote in message
news:9bfg48$33i$1@news.inet.tele.dk...
> <%
> ' Databaseforbindelse - husk at angive sti til din database
> Set Conn = Server.CreateObject("ADODB.Connection")
> DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
> DSN = DSN & "DBQ=" & Server.MapPath ("news.mdb")
> Conn.Open DSN
> ' Luk databaseforbindelse
> Conn.Close
> Set Conn = Nothing
Giver det dig ikke problemer at du lukker forbindelsen inden du bruger den
til noget?
> If Request.Form("slet") <> "" Then
> strSQL = "Delete from news where overskrift = " & Request.Form("slet") &
""
> Conn.Execute(strSQL)
> rs.Close
> Set rs = Nothing
> <td valign="middle" align="left"><input type="text" name="slet"
> <input type="submit" value="slet" name="slet> </center></div>
> Hvad er fejlen, der sker nemlig ikke noget når jeg trykker på knappen
Slet.
Jeg tror måske den tager værdien fra knappen istedet for feltet. Prøv at
kalde dit felt/ din knap noget andet.
Keller
| |
|
|