2009-03-07 6 views
0
Private Sub cmdOK_Click() 
Adodc1.Recordset.MoveFirst 
Do While Not Adodc1.Recordset.EOF 
     If Adodc1.Recordset.Fields(0) <> txtuser.Text Or Adodc1.Recordset.Fields(1) <> txtPassword.Text Then 

      MsgBox "Please verify login details", vbInformation + vbOKOnly, "Login Denied" 
      txtuser.SetFocus 
      txtuser.Text = "" 
      txtPassword.Text = "" 
     Else 
      Unload Me 
      Load Main 
      Main.Show 
     End If 
     Adodc1.Recordset.MoveNext 
     Loop 
End Sub 

J'apprécierais que quelqu'un regarde l'extrait de code ci-dessus et me dise si des changements sont nécessaires! C'est le code que j'utilise pour un formulaire de connexion qui se connecte à une base de données SQL SERVER 2005! Maintenant, pourquoi ça ne marche pas? Il semble chercher SEULEMENT les données de la première rangée des deux colonnes, pas les rangées qui suivent?Demande de formulaire de connexion Visual Basic

Répondre

2

Je prendrais du recul et réécrirais tout cela. Vous devriez envoyer à la base de données le nom d'utilisateur et le mot de passe, ne pas envoyer chaque nom d'utilisateur et mot de passe à votre application et en faire une boucle. Laissez le SGBD faire le travail pour vous. Je vous suggère également de ne pas stocker les mots de passe en texte brut (comme vous le feriez). Cette information est générale et peut être trouvée en cherchant, mais si vous rencontrez un problème particulier, revenez en arrière.

+0

J'apprécie vos suggestions et celles dont je m'occuperai dans les dernières étapes, mais pour le moment le code ci-dessus (quel qu'il soit général) n'est pas clair pour moi, je ne peux pas trouver de défauts: s Pourquoi ne récupère-t-il que la première rangée ?? –

+0

Pourquoi ne récupère-t-il que la première ligne? Qui peut le dire? Il n'y a pas de requête dans votre code. C'est pourquoi Colithium a raison de vous dire de repenser la façon d'écrire du code de base de données. Les contrôles de BD glisser-déposer sont quelque chose que MS n'aurait jamais dû offrir. – HardCode

+0

Ensuite, voici la partie où il se connecte à la DB --Adodc1.ConnectionString = "DRIVER = {SQL Server}; SERVER = MyServer \ SQLEXPRESS; Trusted_connection = oui; DATABASE = Testingz;" Adodc1.RecordSource = "Sélectionnez * de la sécurité" Définissez lblBind.DataSource = Adodc1 –