J'ai presque oublié tout le VB que j'ai appris il y a quelques années, alors je le révise ces jours-ci. Il n'est pas très difficile de connecter la base de données ADO à VB.
La première étape de connexion (à lire attentivement)
Pour les débutants, le tutoriel ici est le plus détaillé. La première étape pour se connecter à la base de données ADO est de savoir quels composants doivent être ajoutés ? Le nom complet est le composant Microsoft ADO Data Control 6.0 (SP6) (OLEDB).
Dans le composant Microsoft ADO Data Control 6.0 (SP6) (OLEDB), il y a un nom : Adodc data control, vous devez l'ajouter. Recherchez ACCES dans l’emplacement des données de contrôle des données Adodc.
La méthode référencée par le contrôle (la valeur fait référence au nom)
Copiez le code comme suit :
Pour i = 1 À Adodc1.Recordset.RecordCount
Si ce n'est pas Adodc1.Recordset.EOF alors
Combo1.AddItem Adodc1.Recordset.Fields("value").Value
Adodc1.Recordset.Movenext
Fin si
Ensuite, je
L'auteur cité par ce code est ydl890406. Quand j'écrivais ce truc dans le groupe VB, on m'a demandé de l'emprunter. Plus tard, j'ai découvert qu'il y avait beaucoup d'erreurs. Après l'avoir révisé plusieurs fois, il y avait encore des erreurs. je l'ai simplement réécrit. C'est du code ultérieur. Le temps passe vite et le groupe VB se dissout également. Plus tard, pour une raison inconnue, de nombreux tutoriels utilisent désormais ce code.
La deuxième partie est la connexion du code AOD Puisque la deuxième partie implique l'objet Recordset et l'objet Connection, vous pouvez l'apprendre vous-même et l'écrire vous-même.
Que sont l'objet Recordset et l'objet Connection ? L'objet Connection est la connexion à la source de données et l'objet Recordset est les données d'opération.
Recherche de composants Microsoft ADO Data Control 6.0 (SP6) (OLEDB)
VB utilise ADO pour se connecter à la base de données SQL Server
'Constante d'informations sur la source de données Public Const conn As String = "Provider = SQLOLEDB.1;Password = sa; UserID = sa; Initial Catalog = StudentFiles; Data Source = localhost" Public Const CONNECT_LOOP_MAX = 10 'Effectuez l'opération de connexion une fois et vous pourrez accéder à la base de données Nombre de foisPrivate IsConnect As Boolean 'Marque si la base de données est connectéePrivate Connect_Num As Integer 'Marquer le nombre de fois où les données sont accédées après l'exécution de la fonction Connect()Private cnn As ADDODB.Connection 'Connecter l'objet pour se connecter à la base de donnéesPrivate re As ADDODB.Recordset 'Objet Recordset qui enregistre l'ensemble de résultats //Connectez-vous à la base de donnéesPrivate Sub Connect () 'Si la marque de connexion est vraie, retournez. IF IsConnect = True Then Exit Sub End If Set cnn = New ADODB.Connection 'La clé new est utilisée pour créer un nouvel objet cnn cnn.ConnectionString = conn cnn.Open 'Déterminer l'état de la connexionIf cnn.State <> adStateOpen Then MsgBox "Échec de connexion à la base de données" End End If 'Définissez l'ID de connexion, indiquant qu'il est connecté à la base de données IsConnect = TrueEnd Sub' Déconnectez la connexion avec la base de données Private Sub DisConnect() Dim rc As Long If IsConnect = False Then Exit Sub End If 'Fermez la connexion cnn.Close 'Release cnn Set cnn = Nothing IsConnect = FalseEnd Sub'Utilisez Connect_Num pour contrôler la connexion de données Public Sub DB_Connect() Connect_Num = Connect_Num + 1 ConnectEnd Sub'Utilisez Connect_Num pour contrôler les données déconnecter Public Sub DB_Disconnect ()Si Connect_Num >= CONNECT_LOOP_MAX Then Connect_Num = 0 Déconnecter End If End Sub'Force pour fermer le mode API pour accéder à la base de données russe, réinitialiser le compteur Public Sub DBapi_Disconnect() Connect_Num = 0 DisconnectEnd Sub'Execute opération de base de données language'byval Il est transmis par la valeur du paramètre, et le paramètre ne changera pas pendant le processus de transfert (c'est-à-dire que la valeur du paramètre est transmise au processus au lieu de l'adresse. Cela permet au processus d'accéder à une copie de la variable, et le processus ne peut pas changer la valeur de la variable. ); qui lui correspond est byref, ce qui signifie que la transmission de la valeur en fonction de l'adresse du paramètre peut être omise. Public Sub SQLExt(ByVal TmpSQLstmt As String) Dim cmd As New ADODB. .Command 'Créer un objet de commande cmd DB_Connect 'Connectez-vous à la base de données Set cmd.ActiveConnection = cnn 'Définissez l'attribut ActiveConnect de cmd et spécifiez la connexion à la base de données qui lui est associée cmd.CommandText = TmpSQLstmt 'Définissez le texte de la commande à exécuter'MsgBox TmpSQLstmt cmd.Execute 'Exécutez la commande Set cmd = Rien DB_DisConnect 'Disconnect Ouvrir la connexion avec la base de données End Sub'Exécuter l'instruction de requête de base de données Public Function QueryExt(ByVal TmpSQLstmt As String ) As ADODB.Recordset Dim rst As New ADODB.Recordset 'Créer un objet Rescordset rst DB_Connect 'Se connecter à la base de données Set rst.ActiveConnection = cnn 'Définir la propriété ActiveConnection de rst et spécifier la connexion à la base de données qui lui est associée rst.CursorType = adOpenDynamic ' Définissez d'abord le type de curseur LockType = adLockOptimistic 'Définissez le type de verrouillage en premier.Open TmpSQLstmt. 'Ouvrir le jeu d'enregistrements Set QueryExt = rst 'Renvoyer la fonction recordsetEnd