Kenneth Fuglsang Christensen wrote in dk.edb.internet.webdesign.serverside.asp:
> Hej
>
> Dette script skulle gerne slette fra en ms access db.
> Jeg ville også gerne have de linjer jeg har sat som hjælpelinjer (med ') til
> at virke
> Jeg får en fejl når jeg udfører dette script :
> If Session("login") = "JA" then
> strSQL = "Delete from Varer where Varenavn = " & Request.Form("Valg") & ""
> 'If " & Request.Form("Valg") = "Vælg Vare" then
> 'Response.Write "<P ALIGN='CENTER'>Du skal vælge andet end Vælg
> Vare</P>" & vbcrlf
> 'Response.Write "<A HREF='Indhold.asp?Mode=SleVare' TARGET='indhold'
> TITLE='Gå Tilbage'>Gå Tilbage</A>" & vbcrlf
> 'Else
> Conn.Execute(strSQL)
> Response.Redirect ("Indhold.asp?Mode=Administration-Loggedin")
> 'End If
> Else
> Response.Redirect ("Indhold.asp?Mode=Administration")
> End If
>
> Fejlen er følgende :
>
> Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
>
> [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
Man kan fange mange SQL-fejl ved at udskrive sql-sætningen inden den sendes til
databasen og se, om den ser OK ud.
Hvis request.form("valg") er en tekststreng så skal din DELETE-SQL se således
ud:
sqr_SQL = "DELETE FROM Varer WHERE varenavn = '" & request.form("valg") & "'"
Hvis request.form("valg") er et tal, så skal den se således ud:
sqr_SQL = "DELETE FROM Varer WHERE varenavn = & request.form("valg")
Mht dine IF-sætninger, så behøver du ikke at konkatenere strengene for at
indsætte din request.form-variabel - dette skulle gøre det:
If Request.Form("Valg") = "Vælg Vare" then
... og så kan jeg ikke lige se, hvad dine VbCrLf laver ... hvis du vil have et
linieskift på din side, så skal du indsætte "<br>".
Jeg har herunder inkluderet dit script igen ... med de rettede fejl, som jeg
lige kunne finde
*******************************************************
<%
If Session("login") = "JA" then
strSQL = "Delete from Varer where Varenavn = '" & Request.Form("Valg") & "'"
If Request.Form("Valg") = "Vælg Vare" then
Response.Write "<P ALIGN='CENTER'>Du skal vælge andet end Vælg Vare</P>"
Response.Write "<A HREF='Indhold.asp?Mode=SleVare' TARGET='indhold'
TITLE='Gå Tilbage'>Gå Tilbage</A>"
Else
Conn.Execute(strSQL)
Response.Redirect ("Indhold.asp?Mode=Administration-Loggedin")
End If
Else
Response.Redirect ("Indhold.asp?Mode=Administration")
End If
%>
*******************************************************
Jesper Stocholm
http://stocholm.dk
--
Brug Validator service:
http://www.html.dk/validator
- Tast din URL én gang, og validér dokumentet hos 12 validatorer
- Understøtter HTML, CSS og søgemaskineoptimering