Le premier site francophone dédié au développement Pocket PC


Comment créer une table avec ADO ?
 
   


Je vous conseille d'aller consulter la fiche 'Comment créer une base de données avec ADO ?' avant de vous lancer dans la création d'une table.

La création d'une table passe par l'ouverture de la base de données qui doit recevoir cette table. Pour celà, il faut utiliser la méthode Open d'un objet Connection. Puis, pour créer la table, il faudra invoquer la méthode Execute de ce même objet :

Dim wConnection as ADOCE.Connection

Rem Instanciation de la connection ADO
Set wConnection = CreateObject("ADOCE.Connection.3.0")

Rem Ouverture de la base de données
Call wConnection.Open("\My Documents\Essai.CDB")

Rem Création de la table [Livres]
Rem Composée de 2 champs, Titre de type texte sur 100 caractères, et
Rem Auteur de type texte sur 100 caractères aussi
Call wConnection.Execute("CREATE TABLE Livres (Titre VarChar(100), Auteur VarChar(100))")

Rem Fermeture de la connection et libération des ressources allouées
Call wConnection.Close
Set wConnection = Nothing

A ce state, la table [Livres] vient d'être ajoutée à la base de données Essai.CDB

Il peut survenir des erreurs pendant toutes ces opérations. Il convient de les traiter une par une :

-1- L'objet Connection ne peut être instancié

Utiliser la méthode qui correspond à inclure l'instanciation dans un On Error Resume Next et un On Error Goto 0, puis à tester si l'objet instancié est égal à Nothing. Si c'est le cas, c'est que l'intanciation a échoué.

On Error Resume Next
Set wConnection = CreateObject("ADOCE.Connection.3.0")
On Error Goto 0
If wConnection Is Nothing Then
Rem Code en cas de prodblème
Else
Rem Code en cas de succès
EndIf

-2- Impossible d'ouvrir la Connection

On peut lire la propriété State de l'objet Connection après avoir invoqué (aussi inclus dans un On Error...) la méthode Open. Si la propriété State est égale à zéro, c'est que l'objet Connection n'est pas ouvert, donc que l'ouverture précédement demandée a échoué.

On Error Resume Next
Call wConnection.Open("\My Documents\Essai.CDB")
On Error Goto 0
If wConnection.State = 0 Then
Rem Code en cas de problème
Else
Rem Code en cas de succès
Endif

-3- Ajout de la table impossible

Dans le cas de la création de la table par la méthode Execute de l'objet Connection (aussi inclus dans un On Error...), on peut utiliser le système de la variable qui stocke l'éventuelle erreur qui pourrait survenir. Si cette variable est différente de zéro, c'est qu'une erreur s'est produite.

Dim wErr as Long

On Error Resume Next
Call wConnection.Execute("CREATE TABLE Livres (Titre VarChar(100), Auteur VarChar(100)")
wErr = Err.Number
On Error Goto 0
If wErr <> 0 Then
Rem Code en cas de problème
Else
Rem Code en cas de succès
EndIf

Tableau des champs disponibles

Type
Description
Equivalent eVB
VarChar[(n)]
Chaine de caractère Unicode de taille n. Si la taille n'est pas stipulée, 1 est pris par défaut. La longeur maximum est de 255 caractères.
String
Text
Chaine de caractères pouvant contenir jusqu'à 32 000 caractères. Ce type de donnée est utilisé pour les chaine dont la taille est suppérieure à 255 caractères.
String
Varbinary[(n)]
Valeur binaire inférieure à 256 caractères. Si le paramètre de taille n'est pas stipulé, 1 est prix par défaut.
Byte
Long Varbinary
Valeur binaire inférieure à 65 469 octets. Ce type de données est aussi connu comme Objet OLE
Long
Integer, int
Entier signé sur 32 bits
Long
Smallint
Entier signé sur 16 bits
Integer
Float
Nombre réel double précision
Double
Datetime
Objet Date
Date
Bit
Valeur logique
Boolean

 

 

Voilà, vous êtes maintenant capable de créer une table dans une base de données de type CDB avec ADO.

Il faut maintenant travailler avec les enregistrements de cette table...

Stéphane Sibué

 


 
       
   
 
   
Copyright 2001-2004 - Tous droits réservés
 
   

iPAQ est un produit de COMPAQ.
Visual Tools est un produit de Microsoft Corporation.
Toutes les autres marques et produits présents dans ces pages sont la propriété exclusive de leurs sociétés respectives.