Avatar billede dusktrab Nybegynder
26. juni 2001 - 00:59 Der er 3 kommentarer og
2 løsninger

Der er en fejl i dette script når man sletter fra DB\'en, hvorfor det?

<%
Response.Buffer = True
Set Con = Server.CreateObject(\"ADODB.Connection\")
DBPath = \"DBQ=\" & server.mappath(\"nyheder.mdb\")
Con.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; \" & DBPath
Sql = \"SELECT top 10 * FROM nyheder ORDER BY Dato DESC\"
Set rs =  Con.Execute(Sql)

SET rs2 = Server.CreateObject(\"ADODB.Connection\")
rs2.Open \"Driver={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"ledere.mdb\")
Sqlstr = \"Select * FROM users WHERE username = \'\" & session(\"777\") & \"\'\"
set rs2 = rs2.Execute(SQLstr)

IF request(\"mode\") = \"del\" THEN
SQL2 = \"delete from nyheder where id=\"& request(\"id\") &\"\"
Set rs = Con.Execute(SQL2)
END IF
%>

<html>
<head>

<link rel=\"stylesheet\" type=\"text/css\" href=\"level777.css\">

</head>

<body background=\"img\\startile.jpg\" bgproperties=\"fixed\">

<center>

<hr color=\"#00ccff\">

</center>
<blockquote>
<b>- Nyheder:</b><p>

</blockquote>
<center>

<table border=\"0\" cellspacing=\"0\" width=\"400\">
<tr>
<% Do While Not rs.EOF %>
<td bgcolor=\"#00ccff\" style=\"BORDER-TOP: rgb(255,255,255) 1px solid; border-left: rgb(255,255,255) 1px solid; border-bottom: rgb(255,255,255) 1px solid\"><font color=\"black\"><%=rs(\"Dato\")%></font>
<% if not session(\"777\") = \"\" then
if rs2(\"admin\") = true then %>
- <a href=\'nyheder.asp?mode=del&id=<%=rs(\"id\")%>\'>Slet</a>
<% end if
end if %></td>
        <td bgcolor=\"#00ccff\" align=\"right\" style=\"BORDER-TOP: rgb(255,255,255) 1px solid; border-right: rgb(255,255,255) 1px solid; border-bottom: rgb(255,255,255) 1px solid\"><font color=\"black\">Fra <i><%=rs(\"Forfatter\")%></i></font></td>
    </tr>
    <tr>
        <td colspan=\"2\"><%=rs(\"Nyhed\")%></td>
    </tr>
    <tr><td>&nbsp;</td></tr>
<%
rs.MoveNext
Loop
%>

</table>

<hr color=\"#00ccff\">

</body>
</html>
Avatar billede zoidberg Nybegynder
26. juni 2001 - 01:03 #1
hvilken fejl?
Avatar billede erikjacobsen Ekspert
26. juni 2001 - 01:07 #2
Er feltet id ikke et tal skal du

  SQL2 = \"delete from nyheder where id=\'\"& request(\"id\") &\"\'\"

Men vi kan kun hjælpe dog hvis du siger hvad fejlen er
Avatar billede jakobandersen Nybegynder
26. juni 2001 - 01:11 #3
En god tommelfinger regel er at hvis man er ude i at bruge to databaser er man sandsynligvis også ude i noget snavs.

En anden ting er at hvis man har en god navngivning roder man ikke rundt i tingene du kalder f.eks. et af dine connection objekter for rs?

Og til sidst er det en meget dårlig ide at bruge Set xxx = objConn.Execute når man bruger DELETE UPDATE OG INSERT, de returnere jo ingen data!
Avatar billede kichian Nybegynder
26. juni 2001 - 09:32 #4
Dette er fejlen:
Set rs = Con.Execute(SQL2)

Da der ikke returneres noget som helst ved netop DELETE UPDATE OG INSERT.

I stedet skriver du:
Con.Execute SQL2 eller Call Con.Execute(SQL2)

Og brugen af flere databaser er kun noget skidt, såfremt det er et udtryk for at man ikke har forstået brugen af relationelle data.
I dette tilfælde ser det ud til at brugere findes i en database og indhold i en anden, hvilket jeg godt kan forsvare opdelingen af. Sålænge der IKKE er brugerafhængige data i indholdsdelen.
Avatar billede dusktrab Nybegynder
02. juli 2001 - 16:23 #5
Fuck det her er pinligt, øhm, jeg havde OVERHOVEDET ikke tænk over brugen af flere tabeller i én database *rødme*, I må undskylde mit misbrug af jeres tid og I skal nok få knaster for det her!
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