Avatar billede havmaage Juniormester
04. februar 2003 - 22:18 Der er 8 kommentarer og
1 løsning

error check! hvordan er det lige meds syntax i vb.

Hej!

Jeg vil gerne chekke på om jeg får logget riogtigt på min database, altaså med rigtig user, passwd m.m Så derfor har jeg oprettet en frmlogin. I andre sprog kan man chekke på return code af en given function, men jeg ved ikke rigtig hvordan jeg skal gøre det i vb.

jeg prøver
if Conn.Open strConn, "user", "password" then

  bla bla lba

else

resume blabls

end if

men den syntax vil den ikke acceptere

Så er der noget med on error goto label

Men hvordan er det lige det virker med det, og hvad er smart at gøre i den sammenhæng hvor jeg logger på en db via odbc.
Det der med at anvende labels virker lidt gsammeldags !! Er det forkert ?
Avatar billede havmaage Juniormester
04. februar 2003 - 22:20 #1
Jeg paster gerne min kode hvis det skulle hjælpe på en forklaring.
Avatar billede demojoe Nybegynder
04. februar 2003 - 22:26 #2
Prøv:

Conn.Open strConn, "user", "password"
If conn.errors.count = 0 Then
  msgbox("Connected OK")
Else
  msgbox("Det hele gik galt") 
End If
Avatar billede demojoe Nybegynder
04. februar 2003 - 22:28 #3
ehm... svar
Avatar billede jespernaur Nybegynder
04. februar 2003 - 22:34 #4
Det jeg bedst kan lide er

      On Error Resume Next

Dette fører til at man kører videre efter enhver operation, der ellers ville have fået programmet til at gå ned med en VB-fejl. TIL GENGÆLD har man ansvaret for at teste for fejlen selv, og hvis man ikke gør det, er man selv ude om det!! Altså

    On Error Resume Next
    Conn.Open strConn, "user", "password"
    If Err.Number <> 0 Then
      ' Fejl
      MsgBox "Fejl kode " & CStr(Err.Number) & " " & Err.Description
      Err.Clear
    else
      ' Ingen fejl
    end if
    On Error Goto 0      ' Deaktiver On Error Resume Next
Avatar billede havmaage Juniormester
04. februar 2003 - 22:44 #5
Jeg rodede lidt med det første svar og fandt frem til følgende metode, please comment!

strConn = "Driver={MySql}; Server=localhost; Option=16834; Database=MEDIEADMIN;"
    On Error GoTo DblogonError
        Conn.Open strConn, txtUserName, txtPassword
            If Conn.Errors.Count = 0 Then
                Me.Hide
                Form1.Show
                Exit Sub
              End If
DblogonError:

  MsgBox "Invalid Password, try again!", , "Login"
  txtPassword.SetFocus
  SendKeys "{Home}+{End}"
Avatar billede jrl0469 Nybegynder
05. februar 2003 - 08:17 #6
Hva' med at sætte ()! if Conn.Open(strConn, "user", "password") then
Avatar billede jrl0469 Nybegynder
05. februar 2003 - 08:18 #7
Undskyld...
Hva' med at sætte ()! if Conn.Open(strConn, "user", "password")=true then
Avatar billede jrl0469 Nybegynder
05. februar 2003 - 08:26 #8
Altså forudsat at Conn.Open returnere en bool, ellers i forhold til hvad der returneres...
Avatar billede havmaage Juniormester
05. februar 2003 - 18:06 #9
Mange tak for de gode indlæg og eksempler. Det er jo ganske generelt så det er nåde jeg kan bruge i alle hendeender i mit lille projekt :-)

Jeg synes jo at jespernaurs forslag virkede mest prof og overskueligt så han for altså points.
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