Avatar billede axl_rose Nybegynder
08. december 2005 - 13:13 Der er 4 kommentarer og
1 løsning

Problem med asp sletning

Fejlen lyder flg:
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

eksempel.asp, line 8

Linje 8 er = Set rs = Conn.Execute(strSQL)

Her er hele koden!



<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("eksempel.mdb")
Conn.Open DSN

strSQL = "DELETE * FROM nyheder WHERE id = '" & strid & "';"
Set rs = Conn.Execute(strSQL)
%>
<font color=#FFFFCC size=2 face="Comic Sans MS">Nyhed slettet<br>
<a href="eksempelslet.asp"><font color=#CC9966>Tilbage</a>
<%
Conn.Close
Set Conn = Nothing
%>
Avatar billede kuiper Nybegynder
08. december 2005 - 13:20 #1
Når du i din sql sætning henviser til et Id der nok er tal
og bruger = skal der ikke være ' i start og slut for din
variabel
skal altså hedde
id = " & strid & ";"

Søren
Avatar billede axl_rose Nybegynder
08. december 2005 - 13:21 #2
Har fået den til at sårn næsten virke men nu sletter den det hele!!:


selve slet filen ser sådan her ud nu:
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("eksempel.mdb")
Conn.Open DSN

strSQL = "DELETE * FROM nyheder WHERE id "
Set rs = Conn.Execute(strSQL)

%>
<font color=#FFFFCC size=2 face="Comic Sans MS">Nyhed slettet<br>
<a href="sletvis.asp"><font color=#CC9966>Tilbage</a>
<%
Conn.Close
Set Conn = Nothing
%>

den man vælger hvilke filer ser således ud:
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("eksempel.mdb")
Conn.Open DSN

strSQL = "SELECT * FROM nyheder ORDER BY id DESC;"
Set rs = Conn.Execute(strSQL)
%>
<font color=#00FF00 size=5 face="Comic Sans MS">Slet nyhed<br>
<font color=red size=2>Vælg...<br>
<%
Do While Not RS.EOF
%>
<a href="eksempel.asp?id=<%= RS.Fields("id").Value %>"><%= RS.Fields("Skrevet_af").Value %><%
RS.MoveNext
Loop
RS.Close
Set oRS = Nothing
Conn.Close
Set Conn = Nothing
%>
Avatar billede axl_rose Nybegynder
08. december 2005 - 13:25 #3
Task for hjælpen du ledte mig på rette spor jeg erstattede linien id = " & strid & ";"  med  " & Request.Querystring("id"). Det virkede smider du ikke lige et svar :)!
Avatar billede axl_rose Nybegynder
08. december 2005 - 13:29 #4
Hey kan du så ikke hurtig lige forælle mig hvad jeg skal sætte ind hvis jeg gerne vil have der kommer en meddelse hvis der ikke er noget i databasen..
Avatar billede kuiper Nybegynder
08. december 2005 - 13:33 #5
Jo da
Trode du længere oppe i dit script havde sætningen
strid =  Request.Querystring("id") så havde variablen strid
indeholdt værdien i din Querystring
og kunne såles bruges i din sætning
strSQL = "DELETE * FROM nyheder WHERE id = " & strid & ";"
Set rs = Conn.Execute(strSQL)

Hilsen
søren
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