/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
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>
&nbsp; </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



Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408877
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste