Avatar billede foru Nybegynder
20. februar 2004 - 12:21 Der er 4 kommentarer og
1 løsning

Slet fra to tabeller i database

Jeg kender ikke meget til ASP, men jeg har alligevel kastet mig ud i noget her. Jeg har overført to oplysninger fra sidste side; "Id" og "svarID"! Og nu skal hele rækken med det korrekte "Id" slettes i database-tabellen "nyhed", og alle, som har det korrekte "svarId" skal slettes i tabellen "nyhed_komm".

Men et eller andet er helt forkert... Jeg får dette at vide:

_____

"Microsoft JET Database Engine error '80040e07'

Data type mismatch in criteria expression.

/musicstuff/admin/nyheder/sletnyhed_ok.asp, line 42"

_____

Og jeg ANER simpelthen ikke, hvad det betyder...
_____

Her er min kode:

<%
  Set rs = Server.CreateObject("ADODB.RecordSet")
  Set Conn = Server.CreateObject("ADODB.Connection")
  strDSN = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("../db/database.mdb")
  Conn.Open strDSN
 
  id = request.querystring("id")
  svarid = request.querystring("svarid")
  if id<> "" and isNumeric(id) then
    sql = "DELETE FROM nyhed WHERE id = " & id
    sql = "DELETE FROM nyhed_komm WHERE svarid = " & svarid
  response.Write "Nyheden er nu slettet!"
    'Kald execute for at slette den valgte post
    Conn.Execute(SQL)
  end if
Conn.Close  'Lukker forbindelsen
Set conn = Nothing
%>
Avatar billede nute Nybegynder
20. februar 2004 - 12:44 #1
du skal gøre det i 2 omgange:

  if id<> "" and isNumeric(id) then
    sql = "DELETE FROM nyhed WHERE id = " & id
Conn.Execute(SQL)
    sql = "DELETE FROM nyhed_komm WHERE svarid = " & svarid
  response.Write "Nyheden er nu slettet!"
    'Kald execute for at slette den valgte post
    Conn.Execute(SQL)
  end if
Avatar billede foru Nybegynder
20. februar 2004 - 12:55 #2
Hmmm... Der er stadig noget galt... Jeg får stadig dette at vide:

"Microsoft JET Database Engine error '80040e07'

Data type mismatch in criteria expression.

Men nu er det bare i linje 43, den er gal!
Avatar billede nute Nybegynder
20. februar 2004 - 13:10 #3
hvilke datatyper er 'id' og 'svarid' ? hvis de er af typen tekst, skal der '' om dit kriterium:

sql = "DELETE FROM nyhed WHERE id = '" & id & "'"
og
sql = "DELETE FROM nyhed_komm WHERE svarid = '" & svarid & "'"
Avatar billede foru Nybegynder
20. februar 2004 - 13:22 #4
Tark, det virker helt fint!
Avatar billede nute Nybegynder
20. februar 2004 - 13:24 #5
fino ...
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