man tycker att detta här borde funka eller Skall du inte fråga dom som gjprt exemplet på aspsidan vad som går fel? jag vet vad som är felet....frågan är varför felet är ja menar det ser rätt ut Din andra SQL sats, skriver över den första, alltså så körs aldrig den. Som Anna-Karin säger så körs bara den ena. Jag skulle dessutom göra så att jag hämtade ID från request.form och stoppade det i en variabel, sen göra en koll på om variabeln är tom eller inte. Har fixat det såhär nu....vilket visar att nått värde inte är där.... Jag skulle fortfarande ta emot id och skicka in det i en variabel med en kontroll om ID är tomt eller inte. Lite lätt OT (off topic) men ändå läsvärt.relaterade tabeller
Microsoft JET Database Engine error '80004005'
The record cannot be deleted or changed because table 'privatbestallning' includes related records.
/telemedia/admin/privatkund_del.asp, line 6
http://www.aspsidan.se/code/?c=1924 här är kodenSv: relaterade tabeller
Du verkar ha en relation till andra poster som finns (ungefär du sitter på en gren). Du tillåts inte såga av den eller deleta i detta fall om du inte sätter dig på rätt sida om grenen.Sv: relaterade tabeller
If Request.Querystring("del")="yes" Then
strSQL = "DELETE FROM privatbestallning WHERE id = "& Request.Form("KID")
strSQL = "DELETE FROM kunder WHERE id =" & Request.Form("KID")
Connect.Execute strSQL,,128
Response.redirect "listaprivatkunder.asp"
End If
--------------------------------------------------------------------------------
Microsoft JET Database Engine error '80040e14'
Syntax error (missing operator) in query expression 'id ='.
/telemedia/admin/privatkund_del.asp, line 6
[code]
<!-- #Include file="dbcon.asp"-->
<%
If Request.Querystring("del")="yes" Then
strSQL = "DELETE FROM privatbestallning WHERE id = "& Request.Form("KID")
strSQL = "DELETE FROM kunder WHERE id =" & Request.Form("KID")
Connect.Execute strSQL,,128
Response.redirect "listaprivatkunder.asp"
End If
Connect.Close
Set Connect=Nothing
%>
<html>
<head>
<%
Session.Lcid = 1053
%>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="stil.css" rel="stylesheet" type="text/css">
</head>
<body>
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">
</font>
<div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Är
du säker på att
du vill ta bort Privatkunden?<br>
</font></div>
<form action="privatkund_del.asp?del=yes&id=<%=Request.QueryString("KID")%>" method="post">
<div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
<input name="id" type="hidden" id="id" value="<%=Request.QueryString("KID")%>">
<input type="submit" value="Ta bort">
</font> </div>
</form>
</body>
</html>
[/code]
länken till tabort sidan
<a href="privatkund_del.asp?id=<%=RecSet("KID")%>">Sv: relaterade tabeller
Det felmeddelande du får beror på att du har skapat en sådan relation i databasen att om det finns poster i tabell2 som relaterar till tabell1 så kan du inte ta bort tabell1.
//Anna-KarinSv: relaterade tabeller
Men om du läser felet så står det att id= saknar något. Med andra ord verkar det som att Request.Form("KID") inte finns.
Skriv ut båda sql-satserna med response.write och kolla så att de är kompletta.
Sen lägger du en execute efter båda så att båda körs.Sv: relaterade tabeller
Om den inte är tom så kör dina SQL satser, annars skicka tillbaka med ett felmeddelande.
//Anna-KarinSv: relaterade tabeller
tror starkt på att det är KID....
If Request.Querystring("del")="yes" Then
strSQL = "DELETE FROM privatbestallning WHERE id = " & Request.QueryString("id")
Connect.Execute strSQL,,128 '
strSQL = "DELETE FROM kunder WHERE id = " & Request.QueryString("id")
Connect.Execute strSQL,,128
Response.redirect "listaprivatkunder.asp"
Microsoft JET Database Engine error '80040e10'
No value given for one or more required parameters.
/telemedia/admin/privatkund_del.asp, line 6
de är relaterade genom KID<->KID
i privatbestallning finns:
KID=Tal
Fraktnr=Text
i kunder:
KID=räknareSv: relaterade tabeller
Är det tomt eller innehåller något annat än tal så, aja baja, annars radera dina poster.
T ex:
<code>
nID = Request.form("ID")
IF nID= "" THEN ' Eventuellt slänga på en OR NOT ISNumeric(id) om det ska vara tal.
' Aja baja, ID är tomt
ELSE
'radera posterna
END IF
</code>
//Anna-KarinSv: relaterade tabeller
http://www.nextgenss.com/papers/advanced_sql_injection.pdf
Denna artikel är bra, man får många aha upplevelser av att läsa den.
//Anna-Karin