Cours 11
ODBC et VB


Définitions utiles


ODBC
Open DataBase Connectivity - un protocole de communication entre applications et bases de données.
Par exemple, on peut connecter une application VB à une base de données créée en MySQL.


DSN
Data Source Name - le nom d'une connexion ODBC. Toute l'information décrivant la connexion - le driver, la platforme et le nom de la bd.

Cependant, Windows ne contient pas le driver MySQL de base. Il faut le télécharger.


Procédure:

1. Télécharger le logiciel MySQL Connector/ODBC 3.51 pour Windows
à partir de: MySQL Connector

2. Le fichier téléchargé est un exécutable et vous n'avez qu'à l'exécuter pour l'installer en Windows.



Pour plus d'explications au sujet de MyODBC:
MyODBC Support


Création du lien


Pour créer un DSN on passe par: "Control panel de Windows" --> "Outils d'administration" ->"Sources de données (ODBC).



























Création de l'application Visual Basic


Créer un nouveau projet en VB.

Dans barre Menu, choisir: Add-Ins --> Visual Data Manager ...:




Dans VisData, choisir: File --> Open database --> ODBC --> le DSN pour gestproj




Une fois connecté vous pouvez examiner la structure de la bd et même exécuter des commandes SQL directemment sur les tables.




Pour créer un form sur une table, faire: Utility --> Data Form Designer ...




Le form créé par le Designer servira de point de départ. On va d'abord améliorer sa présentation et ensuite on peut modifier le code.










On peut aussi créer une application standard en VB sans utiliser VISDATA.

On crée un Form et on code le FormLoad approprié:








Private Sub Form_Load()
    Data1.Connect = "ODBC;DSN=BookStor;DATABASE=bookstor; " _

       & "SERVER=localhost;UID=;PWD=;PORT=;OPTION=16834;STMT=;"

    Data1.RecordSource = "authors"

End Sub




Ceci est tiré du manuel MySQL:

Visual Basic

To be able to update a table, you must define a primary key for the table.
Visual Basic with ADO can't handle big integers. This means that some queries like SHOW PROCESSLIST will not work properly. The fix is to set add the option OPTION=16834 in the ODBC connect string or set the Change BIGINT columns to INT option in the MyODBC connect screen.
You may also want to set the Return matching rows option.
















Haut de la page