02. november 2004 - 14:19Der er
5 kommentarer og 1 løsning
Login system i Visual Basic og Access
Hej, jeg sidder og prøver at lave et loginsystem i VB hvor brugernavnene og passwords er gemt i en access database, men da jeg er rimelig meget n00b til VB, kan jeg ikke helt finde ud af det... Jeg har fået skrevet flg. kode:
Private Sub cmdEnter_Click()
Dim con As ADODB.Connection Dim res As ADODB.Recordset
Dim myString As String Dim strName As String Dim strPass As String Dim Message As String
Set con = New ADODB.Connection Set res = New ADODB.Recordset
Do Until UsrData.Recordset.EOF If UsrData.Recordset.Fields(UserName).Value = strName And UsrData.Recordset.Fields(Password).Value = strPass Then Me.Hide frmUdlejning.Show End Sub
Den bliver ved med at komme med en fejl om "Run time error 3265, elementet kan ikke findes i den samling der svarer til det anmodede navn eller ordenstal"
Og jeg fatter simpelthen ikke hvorfor det ikke virker, det er uanset om jeg skriver brugernavn og password rigtigt eller forkert, eller slet ikke noget...
Jeg er ikke helt 100% paa om det er dette men jeg mener der skal anfoerselstegn omkring dine Fields navne eller ogsaa skal du brige idex vaerdier istedet. Hvis UnserName er foerste kolonne og Passwrod er anden kolonner: skriv feltet UserName som UsrData.Recordset.Fields(0) og password som UsrData.Recordset.Fields(1)
Her er et eks. som jeg har brugt før Den bruger ikke OLEDB.4.0 Jet men "Data Objects 2.8" Man kalder den med checkLogin("hans", "password1") og retur er True eller false
Private Function checkLogin(Username As String, Password As String) As Boolean
'Husk at Add. References 'Microsoft ActiveX Data Objects 2.8 Library'
Dim OConn As ADODB.Connection Dim ORs As ADODB.Recordset Dim SQLExc As String Dim Connstring As String
Set OConn = New ADODB.Connection OConn.ConnectionTimeout = 1 OConn.CommandTimeout = 1 OConn.Open Connstring
SQLExc = "SELECT username,password from UsrData where username ='" & Username & "' and '" & Password & "'" Set ORs = OConn.Execute(SQLExc) If ORs.EOF And ORs.BOF Then checkLogin = False Else checkLogin = True End If
ORs.Close Set ORs = Nothing OConn.Close Set OConn = Nothing End Function
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.