Avatar billede mekaniker Nybegynder
12. november 2001 - 23:42 Der er 1 løsning

noget er galt, men jeg ved ikke hvad det er

Dette fungere sådan at man skal tilføje nogle oplysninger til en database, udfra et password man allerede har og som ligger i db\'en.
Hvis man skriver et forkert password, for man det at vide, og man bliver bedt om at prøve igen.
Skriver man et rigtigt password opdatere man så den række i db\'en som passer til passwordet med andre de oplysninge så som navn, adresse, postnr, bynavn og email.

Men det skal ikke kunne lade sig gøre at ændre oplysningerne, hvis de en gang er skrevet ind.
Jeg tror fejlen ligger i denne del.
navnSQL = \"SELECT Navn FROM Invit\"
    response.write(navnSQL)
    set rs = myConn.Execute(navnSQL)
    navntjek = rs(\"Navn\")
   
        if navntjek <>\"\" then

HER ER HELE SCRIPTET:

Set myConn = Server.CreateObject(\"ADODB.Connection\")
    myConn.Open \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"db/Invitation.mdb\")

SQL = \"SELECT * FROM Invit WHERE password =\'\" & password & \"\'\"
set rs = myConn.Execute(SQL)

if rs.BOF AND rs.EOF then

    response.write \"<center><b><font face=\"\"Verdana, Arial, Helvetica, sans-serif\"\" size=\"\"2\"\">Your password (\"& password &\") is not correct</font></b></center>\"
    response.write \"<form>\"
    response.write \"<center><input type=\'button\' value=\'Retry\' onclick=history.back()></center>\"
    response.write \"</form>\"
    response.end
else
   
    navnSQL = \"SELECT Navn FROM Invit\"
    response.write(navnSQL)
    set rs = myConn.Execute(navnSQL)
    navntjek = rs(\"Navn\")
   
        if navntjek <>\"\" then
            response.write \"<center><b><font face=\"\"Verdana, Arial, Helvetica, sans-serif\"\" size=\"\"2\"\">Your can\'t correct your informations</font></b></center>\"
            response.write \"<form>\"
            response.write \"<center><input type=\'button\' value=\'Retry\' onclick=history.back()></center>\"
            response.write \"</form>\"
            response.end

        Else
            strSQL = \"Update Invit set \"
              strSQL = strSQL & \"navn= \'\" & navn & \"\', \"
            strSQL = strSQL & \"adresse= \'\" & adresse & \"\', \"
            strSQL = strSQL & \"postnr= \'\" & postnr & \"\', \"
            strSQL = strSQL & \"bynavn= \'\" & bynavn & \"\', \"
            strSQL = strSQL & \"email= \'\" & email & \"\' \"
            strSQL = strSQL & \" Where password =\'\" & password & \"\'\"
            myConn.Execute(strSQL)
        end if
end if
Avatar billede dark-mixer Nybegynder
13. november 2001 - 10:38 #1
Det ser ud til at du har en fejl i denne if sætning : if rs.BOF AND rs.EOF then Denne tilstand vil aldrig kunne opfyldes. Prøv at skrive den således istedet
If (rs.BOF or rs.EOF) Then
Det er noget af det eneste jeg lige kan se går galt. Men skulle der være flere med samme password vil den også opdatere informationerne hos dem.
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