Avatar billede jarnick2001 Nybegynder
27. oktober 2001 - 17:48 Der er 24 kommentarer

Hvorfor????

Jeg har en databaser med nogle produkter, og har lavet nogle tilhørende sider hvor det er muligt at oprette nogle produkter.. Nu vil lave en side hvor det er muligt at slette produkterne.. Derfor har jeg lavet en slet.asp side hvor man vælger produkt der skal slettes, og dette sendes derefter viderer til slet2.asp, og nu kommer spg. Hvad er galt her:

<%
\' 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 (\"../../Items.mdb\")
Conn.Open DSN

strSQL = \"Delete from Categories where Catagory = Request.Form(\"ID\")\"

Conn.Close
Set Conn = Nothing
%>
Avatar billede jarnick2001 Nybegynder
27. oktober 2001 - 17:49 #1
Eksemplet er slet2.asp
Avatar billede 2-maz Nybegynder
27. oktober 2001 - 17:50 #2
<%
\' 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 (\"../../Items.mdb\")
Conn.Open DSN

strSQL = \"DELETE FROM Categories WHERE Catagory = \" & Request.Form(\"ID\")

Conn.Close
Set Conn = Nothing
%>
Avatar billede doomstone Nybegynder
27. oktober 2001 - 17:52 #3
prøv at sig

id = request.querystring(\"id\")

strSQL = \"Delete from Categories where Catagory = \'\" & id & \"\'\"
Avatar billede 2-maz Nybegynder
27. oktober 2001 - 17:53 #4
Doomstone--> Id er jo et tal der for skal SQL sætningen se sådan her ud:
strSQL = \"Delete from Categories where Catagory = \" & id &
Avatar billede 2-maz Nybegynder
27. oktober 2001 - 17:53 #5
Uden den der & til sidst...!
Avatar billede jarnick2001 Nybegynder
27. oktober 2001 - 17:54 #6
Det fungerer hellere ikke:

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression \'ID =\'.
/trimacshop/shopping/admin/1/tilfoj_prod.asp, line 47
Avatar billede doomstone Nybegynder
27. oktober 2001 - 17:55 #7
hmm det virker eller i mine sider!
Avatar billede 2-maz Nybegynder
27. oktober 2001 - 17:55 #8
Så er det fordi at Request.Form(\"ID\") er tom eller Catagory er tom
Catagory er det et tal i databasen??
Avatar billede jarnick2001 Nybegynder
27. oktober 2001 - 17:57 #9
Nej, det skal ikke være catagory, men derimod ID, sorry.

I tabellen Categories findes ID og Category som er en tekst
Avatar billede jarnick2001 Nybegynder
27. oktober 2001 - 17:59 #10
SLET.ASP;

<%
\' Hvis brugeren ikke er logget rigtigt på
\' sendes han/hun direkte til formularen
If Session(\"login\") <> \"JA\" Then
  Response.Redirect \"adminlog.asp\"
End If
%>
<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#111111\" width=\"75%\" id=\"AutoNumber1\" bgcolor=\"#EAEAEA\">
  <tr>
    <td width=\"100%\">
    <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#111111\" width=\"100%\" id=\"AutoNumber2\" bgcolor=\"#EAEAEA\"><br>

<form action=\'tilfoj_prod.asp\' name=\'form\' method=\'post\'>
<%
\' 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 (\"../../Items.mdb\")
Conn.Open DSN


strSQL = \"Select * from Categories\"

Set rs = Conn.Execute(strSQL)


Response.Write \"<tr><td width=\'50%\'><p align=\'right\'><font face=verdana size=2>Kategori: </font></td><td width=\'50%\' align=\'left\'><select name=Category>\" 
Do
 
Response.Write \"<option value=\'\" & rs(\"ID\") & \"\'>\" & rs(\"Category\") & \"</option>\"
             
rs.MoveNext
Loop While Not rs.EOF

Response.Write \"</select></td></tr></table>\"
 
   
Conn.Close
Set Conn = Nothing
%>
<center><br></table><br><input type=\'image\' src=\"../images/tilfoj.gif\">       


SLET2.ASP:

<html><HEAD>
<title>Indsætte data i databasen</title></HEAD>
<style type=\"text/css\">
<!--
A { color: #000000; text-decoration: none }
A:hover    { text-decoration: underline }
A:hover {color: #000000; text-decoration: underline}
-->
</style>
<body>

<center>
<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#111111\" width=\"75%\" id=\"AutoNumber1\">
  <tr>
    <td width=\"100%\">
    <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#111111\" width=\"100%\" id=\"AutoNumber2\" bgcolor=\"#EAEAEA\">
      <tr>
        <td width=\"20%\" align=\"center\">
        <p align=\"center\"><font size=\"2\" face=\"Verdana\"><a href=\"opret_cat1.asp\">Tilføj kategori</a></font></td>
        <td width=\"20%\" align=\"center\"><font size=\"2\" face=\"Verdana\"><a href=\"opret_prod2.asp\">Tilføj produkt</a></font></td>
        <td width=\"20%\" align=\"center\"><font size=\"2\" face=\"Verdana\">Slet kategori</font></td>
        <td width=\"20%\" align=\"center\"><font size=\"2\" face=\"Verdana\">Slet produkt</font></td>
        <td width=\"20%\" align=\"center\"><font size=\"2\" face=\"Verdana\">Log af</font></td>
      </tr>
    </table>
    </td>
  </tr>
</table>
</center>
<br>
<%
\' Hvis brugeren ikke er logget rigtigt på
\' sendes han/hun direkte til formularen
If Session(\"login\") <> \"JA\" Then
  Response.Redirect \"adminlog.asp\"
End If
%>
     
<%
\' 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 (\"../../Items.mdb\")
Conn.Open DSN

id = request.querystring(\"id\")
strSQL = \"Delete from Categories where id = \" & id &

Conn.Execute(strSQL)

\' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>

<font face=\"verdana\" size=\"2\" color=\"#000000\"><center>
<%
Response.Write \"Produktet <b>\" & Request.Form(\"Category\") & \"</B> er slettet\"
%>
</font></center>


</body>
</html>

I siden Slet.aps vælges hvad der skal slettes, og det sendes til slet2.asp...Hvad er galt

Avatar billede doomstone Nybegynder
27. oktober 2001 - 18:00 #11
hmmm
databasens er items.mdb
tabellens snavn er Category
og du skal slette et filed i tabellen Category hvor ID = x
right?
Avatar billede doomstone Nybegynder
27. oktober 2001 - 18:03 #12
prøv med strSQL = \"Delete from Categories where id = \" & id
Avatar billede doomstone Nybegynder
27. oktober 2001 - 18:03 #13
skal spise ses!
håber at der virker!
Avatar billede jarnick2001 Nybegynder
27. oktober 2001 - 18:04 #14
Fungerer stadig ikke...
Avatar billede doomstone Nybegynder
27. oktober 2001 - 18:33 #15
hvad skriver den som fejl?
Avatar billede doomstone Nybegynder
27. oktober 2001 - 18:35 #16
er du sikker på at (\"../../Items.mdb\") er det rigtige sted???
denne bruger jeg

<%
set Conn = Server.createobject(\"adodb.connection\")
conn.Open \"DBQ=\"& Server.MapPath(\".\") &\"../../Items.mdb; DefaultDir=DBQ=\"& Server.MapPath(\"/\") &\";Driver={Microsoft Access Driver (*.mdb)};\"
%>
Avatar billede eagleeye Praktikant
27. oktober 2001 - 18:46 #17
Din select hedder ikke ID men Category på FORM\'en i slet.asp:

Så din SQL skal være:

strSQL = \"Delete from Categories where Catagory =\'\" & Request.Form(\"Category\") & \"\'\"
Avatar billede eagleeye Praktikant
27. oktober 2001 - 18:47 #18
og det er ID du ligger li values så den skulle være:

strSQL = \"Delete from Categories where ID =\'\" & Request.Form(\"Category\") & \"\'\"
Avatar billede eagleeye Praktikant
27. oktober 2001 - 18:50 #19
Fra slet.asp:

<select name=Category>
  \"<option value=\'\" & rs(\"ID\") & \"\'>\" & rs(\"Category\") & \"</option>\"
Så du skal hendte category med  Request.Form(\"Category\"), som er navnet på select\'en
Du får value med request.Form så det et altså rs(\"ID\") eller i SQL\'en ID.

Hvis ID er streng i database definitionen:
strSQL = \"Delete from Categories where ID =\'\" & Request.Form(\"Category\") & \"\'\" 

Hvis ID er tal i database definitionen:
strSQL = \"Delete from Categories where ID =\" & Request.Form(\"Category\")

Avatar billede eagleeye Praktikant
27. oktober 2001 - 18:53 #20
du mangler også en Conn.Execute(strSQL):


Conn.Open DSN

strSQL = \"Delete from Categories where ID =\'\" & Request.Form(\"Category\") & \"\'\" 

Conn.Execute(strSQL)  <----- indsat
Conn.Close
Set Conn = Nothing
Avatar billede eagleeye Praktikant
27. oktober 2001 - 19:04 #21
Hvis Slet.asp skal sende vidre til slet2.asp så skal FORM-tagen i slet.asp rettes Fra:
<form action=\'tilfoj_prod.asp\' name=\'form\' method=\'post\'>


TIL:

<form action=\'slet2.asp\' name=\'form\' method=\'post\'>
Avatar billede doomstone Nybegynder
27. oktober 2001 - 19:09 #22
eagleeye
jeg har også en slet side er det så dådan her den skal se ud??

<%
Conn.Open DSN

strSQL = \"Delete from fav where ID =\'\" & Request.Form(\"id\") & \"\'\"

Conn.Execute(strSQL)
Conn.Close
Set Conn = Nothing

Response.Redirect(\"liste.asp\")
%>
Avatar billede eagleeye Praktikant
27. oktober 2001 - 22:50 #23
doomstone>> Ja hvis ID er defineret som tekst i databasen. Hvis ID er tal skal der ikke \' omkring
Avatar billede eagleeye Praktikant
21. september 2002 - 23:41 #24
jarnick2001  kom det til at virke?
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester