Avatar billede corona10 Nybegynder
09. juni 2004 - 15:29 Der er 3 kommentarer

test af forekomst i db

Hej,
jeg har en tabel i db hvor jeg gemmer læger og deres speciale. På min asp side er der mulighed for at indsætte en ny læge i tabellen, hvis specialet findes i forvejen, skal det selvfølgelig ikke skrives der igen. Til den ende laver jeg følgende:

spec = Request.Form("specText")
'findes speciale?
qstr = "SELECT * FROM Speciale"
readDB(qstr)
set rs2 = rs
length = 0
found = false
while not rs.eof
    length = rs("id")
    rs.movenext
wend

while not rs2.eof
Response.Write(rs2("id"))
    if cstr(spec) = cstr(rs2("speciale")) then

her tester jeg om det netop indtastede speciale findes i det recordset der indeholder alt fra speciale-tabellen

    'selv ikke if "skod" = "skod" then kan få skrevet responsen ud
    Response.Write ("fundet")
        found = true
    else           
        if found = true then
            found = true
        else
            found = false
        end if
    end if
    rs2.movenext
wend
if found = false then'skriv i db
    wstr = "INSERT INTO Speciale (id, speciale) VALUES (" & length + 1 & ", '" & spec & "')"
    writeDB(wstr)
    end if


Ligemeget om det nye speciale findes i forvejen eller ej bliver det nye skrevet til tabellen. Hvor er det jeg fejler maks?
Avatar billede nozio Nybegynder
09. juni 2004 - 17:19 #1
Hmmm - hvorfor ikke lidt ala det her:

found = false

qstr = "SELECT specText FROM Speciale where specText = " & specText

    if not RSs.EOF then
          'hvis der kommer noget i recordset - så er det i basen allerede
          found = true
    end if

if found = false then'skriv i db
    wstr = "INSERT INTO Speciale (id, speciale) VALUES (" & length + 1 & ", '" & spec & "')"
    writeDB(wstr)
    end if
Avatar billede nozio Nybegynder
09. juni 2004 - 17:20 #2
sorry - husk:

qstr = "SELECT specText FROM Speciale where specText = '" & specText & "'"
Avatar billede corona10 Nybegynder
11. juni 2004 - 21:43 #3
Det virker og er jo en del smartere så der er points til dig
Har du nogen ide om hvorfor min
if "skod" = "skod" then...
linie ikke dur... jeg mener, sammenligningen bliver jo ikke udført...
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