IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Accès aux données Discussion :

Type de données des datatables dans dataset


Sujet :

Accès aux données

  1. #1
    Membre actif Avatar de hellspawn_ludo
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 257
    Points : 215
    Points
    215
    Par défaut Type de données des datatables dans dataset
    Bonjour,

    Pour gérer ma base de données de location de films vidéo, j'ai créé un dataset dans mon code que je remplit grâce à un objet SqlDataAdapter.

    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    'Variable de connexion à la base de données
    Dim connex As New SqlClient.SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Documents and Settings\" & _
    "Ludo\Mes documents\Visual Studio 2005\Projects\Video Club\Video Club\" & _
    "BDD_film.mdf;Integrated Security=True;User Instance=True")
     
    'Création d'un objet DataSet (nom : DataSet_Film) afin d'y insérer les tables en mode déconnecté
    Dim Mon_DataSet_Film As New Data.DataSet("DataSet_Film")
     
    'Création d'un objet SqlDataAdapter afin de travailler en mode déconnecté au niveau de la base de données
    Dim objadapter As New System.Data.SqlClient.SqlDataAdapter("select * from t_film;select * from t_genre", connex)
     
     
    'Remplit le dataset avec les 2 requêtes SQL du objadapter
    objadapter.Fill(Mon_DataSet_Film, "t_film")
     
    'Renomme la 2ème requête du objadapter
    Mon_DataSet_Film.Tables(1).TableName = "t_genre"
    J'aimerais savoir si les tables de mon dataset "t_film" et 't_genre" possèdent les mêmes types de données que les véritables tables de ma base ?

    exemple : dans la table t_film de ma base de données, la 1ère colonne est un identitifiant de type INT avec autoincrément. Donc, est-ce la même chose de ma table t_film de mon dataset ou dois-je le spécifier dans mon code ?

    Merci.

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Août 2004
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 270
    Points : 270
    Points
    270
    Par défaut
    un bon moyen pour éviter ce genre de doute est d'utiliser un dataset fortement typé

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Si tu as réalisé un lien à ta source de données, et que, par exemple, ton datagridview est relié à une talbe de ta source, alors a priori les types de tes champs seront identiques à ceux de ta bd. Tu peux vérifier cela en allant dans le concepteur de tables (xsd) pour vérifier les types de chacun de tes champs.
    Voilà !
    @+
    Jérôme

  4. #4
    Membre actif Avatar de hellspawn_ludo
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 257
    Points : 215
    Points
    215
    Par défaut
    Bonjour,


    Je viens de voir le XSD et effectivement avec un dataset fortement typé mes types de données sont identiques.

    Ceci étant, je n'ai pas créé de datasaset fortment typé.

    Je voulais le faire par code comme indiqué dans mon 1er post. Et que donc, en le faisant manuellement, je n'ai pas de XSD dans mon concepteur de table ce qui me permettait pas de vérifier les types.

    Donc, je sais qu'avec un dataset fortement typé, il récupère bien mes types de mes champs.

    Maintenant si je désire le faire par code, je présume que c'est le même principe ?

    J'ai voulu le vérifié en essayant d'afficher dans des msgbox mes types mais je ne sais pas comment faire. Auriez-vous une idée ?

    J'arrive juste à afficher le nom du champ. :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    MsgBox(Mon_DataSet_Film.Tables(1).Columns(0).ColumnName, , "Nom de la colonne 1 ")
    Enfin, pensez-vous que je devrait créer un dataset fortement typé ou le faire par code ?

    Merci pour vos aides.

  5. #5
    Membre actif Avatar de hellspawn_ludo
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 257
    Points : 215
    Points
    215
    Par défaut
    Bon, j'ai utilisé un dataset fortement typé comme ça plus de problème sur les types.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/12/2014, 11h52
  2. Réponses: 12
    Dernier message: 03/07/2009, 13h37
  3. Réponses: 4
    Dernier message: 09/07/2008, 15h07
  4. Réponses: 1
    Dernier message: 01/12/2007, 15h18
  5. Comment enregistrer des données de DataGridView dans dataset
    Par hellspawn_ludo dans le forum Windows Forms
    Réponses: 4
    Dernier message: 10/05/2007, 08h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo