Avatar billede cayenne Nybegynder
03. april 2003 - 21:40 Der er 6 kommentarer og
1 løsning

Validering/sammenligning med indhold i DB

Har prøvet at finde svaret i allerede stillede spørgsmål, men uden held. Så her kommer det:

Brugerne kan skrive et interval af numre ind gennem en formular til en Accessdatabase. F.eks. kan feltet arkivnr1 have værdien 1 og arkivnr2 have værdien 100.
Når folk indskriver vil jeg gerne have at den tjekker i databasen om intervallet er indskrevet. Tallene mellem 1 og 100 må altså ikke indskrives igen (heller ikke 2 til 99 osv)
Her er min kode med validering. Den virker bare ikke, suk.
Den tillader hvad som helst, bare det ikke er den første eller sidste record der rammes.
Håber I gider hjælpe, for jeg sidder fast :o(

<%

    if Request.Querystring("Knap") = "Send" then

    ' Databaseforbindelse - husk at angive sti til din database
    Set Conn = Server.CreateObject("ADODB.Connection")
    DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
    DSN = DSN & "DBQ=" & Server.MapPath("../../../fpdb/arkivnr.mdb")
    Conn.Open DSN
    strSQL = "Select * From tbl_arkivnr WHERE arkivnr2 >" & Request.querystring("arkivnr1") & "AND arkivnr2 >" & Request.querystring("arkivnr2")
   
    Response.write strSQL
    Set rs = Conn.Execute(strSQL)

   
   
        If NOT (rs.BOF OR rs.EOF) Then
   
        ' Databaseforbindelse - husk at angive sti til din database
        Set Conn = Server.CreateObject("ADODB.Connection")
        DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
        DSN = DSN & "DBQ=" & Server.MapPath("../../../fpdb/arkivnr.mdb")
        Conn.Open DSN
   
        strSQL = "Insert into tbl_arkivnr (arkivnr1,arkivnr2,brugerid) values ('" & Request.querystring("arkivnr1") & "','" & Request.querystring("arkivnr2") & "','" & Request.querystring("brugerid") & "')"
       
        Conn.Execute(strSQL)

        Else
       
        Response.Write "Arkivnr er brugt"
       
        'Luk databaseforbindelse
        Conn.Close
        Set Conn = Nothing

        End IF
End IF


%>
Avatar billede ellebaek Nybegynder
03. april 2003 - 21:52 #1
strSQL = "Insert into tbl_arkivnr (arkivnr1,arkivnr2,brugerid) values (" & Request.querystring("arkivnr1") & "," & Request.querystring("arkivnr2") & ",'" & Request.querystring("brugerid") & "')"
Avatar billede cayenne Nybegynder
03. april 2003 - 21:56 #2
Den virker nu fint (næsten lidt for godt;o). Det er valideringen, der skal stoppe indskrivningen, hvis tallene allerede eksisterer, den er gal med ;o)
Avatar billede jespernaur Nybegynder
03. april 2003 - 23:05 #3
Så vidt jeg kan se er det din betingelse

  If NOT (rs.BOF OR rs.EOF) Then

der skal rettes til

  If (rs.BOF AND rs.EOF) Then
Avatar billede cayenne Nybegynder
04. april 2003 - 08:59 #4
Nej, den godtager stadig intervaller der dækker allerede indskrevne data. Kan nogen gennemskue om det er sql-strengen sammenholdt med rs.BOF osv, den er gal med ?
Avatar billede ellebaek Nybegynder
07. april 2003 - 21:30 #5
strSQL = "Select * From tbl_arkivnr WHERE arkivnr2 >=" & Request.querystring("arkivnr1") & "AND arkivnr2 >=" & Request.querystring("arkivnr2")
Avatar billede cayenne Nybegynder
09. april 2003 - 11:35 #6
Hej ellebaek. Kan du ikke lave et svar så jeg kan give dig point :o)
Avatar billede ellebaek Nybegynder
09. april 2003 - 21:10 #7
Det kan jeg da sagtens ...

Her er et svar...

/ellebæk
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