Avatar billede trophymanager Nybegynder
20. december 2004 - 10:25 Der er 17 kommentarer og
2 løsninger

simpel if eof ting.

følgende virker (selvfølgelig) ikke. Men hvordan skal ideen skrives korrekt?

cnMenu.open "SELECT * FROM list WHERE mail = '"& request("email") &"'")
while cnMenu.eof
response.write "Mailen findes ikke i databasen"
wend
while not cnMenu.eof
cnMenu.delete
response.redirect "edit.asp?deleted="& request("email")
wend


noget i den stil.
Avatar billede anhansen Nybegynder
20. december 2004 - 10:27 #1
hvad er det du gerne vil?
Du vil gerne slette mailadressen i databasen - er det korrekt?
Avatar billede fennec Nybegynder
20. december 2004 - 10:32 #2
cnMenu.open "SELECT * FROM list WHERE mail = '"& request("email") &"'")
if cnMenu.eof then
  response.write "Mailen findes ikke i databasen"
else
  while not cnMenu.eof
  cnMenu.delete
  wend
  response.redirect "edit.asp?deleted="& request("email")
end if
Avatar billede fennec Nybegynder
20. december 2004 - 10:34 #3
Kan gøres med færre linjer....

cnMenu.open "SELECT * FROM list WHERE mail = '"& request("email") &"'")
if cnMenu.eof then
  response.write "Mailen findes ikke i databasen"
else
  cnMenu.open "delete FROM list WHERE mail = '"& request("email") &"'")
  response.redirect "edit.asp?deleted="& request("email")
end if
Avatar billede trophymanager Nybegynder
20. december 2004 - 10:35 #4
ja jeg vil gerne først tjekke om posten overhovedet findes i databasen,, hvis den gør slet den hvis ikke skriv den ik findes.
Avatar billede trophymanager Nybegynder
20. december 2004 - 10:50 #5
hmm.. der står ADODB.Connection error '800a0e79'

Operation is not allowed when the object is open.

tror dt cnMenu.open "delete FROM list WHERE mail = '"& request("email") &"'")
der ikke dur når CnMenu allerede er åben.
Avatar billede trophymanager Nybegynder
20. december 2004 - 10:55 #6
2sec.. det vidst mig der en ged
Avatar billede trophymanager Nybegynder
20. december 2004 - 11:21 #7
Set cnMenu = Server.CreateObject("ADODB.Connection")
    cnMenu.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & server.mappath("opdateringer.mdb")
cnMenu.open "SELECT * FROM list WHERE mail = '"& request("email") &"'"
if cnMenu.eof then
  response.write "Mailen findes ikke i databasen"
else
  while not cnMenu.eof
  cnMenu.delete
  wend
  response.redirect "edit.asp?deleted="& request("email")
end if



får fejlen:
Operation is not allowed when the object is open.

der bliver peget på linien:
cnMenu.open "SELECT * FROM list WHERE mail = '"& request("email") &"'"
Avatar billede fennec Nybegynder
20. december 2004 - 16:58 #8
Det er noget kode tidligere, der gør det. Kan du ikke lige vise den også???
Avatar billede cpufan Juniormester
20. december 2004 - 23:29 #9
Set cnMenu = Server.CreateObject("ADODB.Connection")
    cnMenu.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & server.mappath("opdateringer.mdb")
cnMenu.execute("SELECT * FROM list WHERE mail = '"& request("email") &"'")
if cnMenu.eof then
  response.write "Mailen findes ikke i databasen"
else
  while not cnMenu.eof
  cnMenu.execute("delete * FROM list WHERE mail = '"& request("email") &"'")
  wend
  response.redirect "edit.asp?deleted="& request("email")
end if
Avatar billede cpufan Juniormester
20. december 2004 - 23:32 #10
slut lige af med

cnmenu.close
set cnmenu = nothing
Avatar billede trophymanager Nybegynder
21. december 2004 - 12:31 #11
jeg tror du har fat i noget.. men:

ADODB.Connection error '800a0bb9'

Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.

/soren/edit.asp, line 8 (if cnMenu.eof then)
Avatar billede fennec Nybegynder
21. december 2004 - 12:37 #12
Det skal være:

set rs = cnMenu.execute("SELECT * FROM list WHERE mail = '"& request("email") &"'")
if rs.eof then

istedet for:
cnMenu.execute("SELECT * FROM list WHERE mail = '"& request("email") &"'")
if cnMenu.eof then
Avatar billede cpufan Juniormester
21. december 2004 - 12:40 #13
og så skal det vel være
if rs.bof and rs.eof then
Avatar billede trophymanager Nybegynder
21. december 2004 - 12:41 #14
hva betyder bof?
Avatar billede cpufan Juniormester
21. december 2004 - 12:46 #15
beginning of file......
hvis resultatsættet både er starten og slutningen er det tomt.
hvis du kun tester på slutningen, vil der jo altid være en slutning uanset om der er en record eller ej.
Avatar billede trophymanager Nybegynder
21. december 2004 - 12:54 #16
ah tak. Så det skal se sådan her ud:

skal slutningen være:

while not rs.eof eller bof?
Avatar billede trophymanager Nybegynder
21. december 2004 - 12:55 #17
smid et svar begge to.
Avatar billede fennec Nybegynder
21. december 2004 - 13:11 #18
Der behøver slet ikke være en WHILE:

Set cnMenu = Server.CreateObject("ADODB.Connection")
cnMenu.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & server.mappath("opdateringer.mdb")
set rs = cnMenu.execute("SELECT * FROM list WHERE mail = '"& request("email") &"'")
if rs.eof then
  response.write "Mailen findes ikke i databasen"
else
  cnMenu.execute("delete * FROM list WHERE mail = '"& request("email") &"'")
  response.redirect "edit.asp?deleted="& request("email")
end if
Avatar billede trophymanager Nybegynder
21. december 2004 - 13:19 #19
mange tak.. Undskyld de få point. Havde troet det krævede lidt mindre arbejde.
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