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

VB.NET Discussion :

BDD avec VB.NET


Sujet :

VB.NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    444
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 444
    Points : 428
    Points
    428
    Par défaut BDD avec VB.NET
    Bonjour tout le monde.

    Depuis plusieurs jours je lis, relis, parcours de nombreux tutoriaux sur les bases de données avec Visual Studio pour VB.NET. Néanmoins j'ai beaucoup de mal à faire la part des choses et quoi faire.

    Déjà dans la création de la base il y a plusieurs possibilités. Je ne parle ici que d'une base SQL.
    Il y a la possibilité de créer une base classiquement avec SQL Server mais aussi directement dans VS (que j'ai en version 2005). Impossible de trouver un tutorial capable de traiter des différences qu'il peut exister entre les 2.
    Pour faire simple je me suis dit qu'il vallait mieux créer ma base directement dans VS2005 et il semble par conséquent qu'il y ait des différences, par exemple je n'ai pas besoin de créer une connection (en tout cas ma listbox se remplit correctement et seulement avec une ligne).

    Le fait que ma listbox se remplisse correctement me fait venir au 2 ème problème que me pose cette BDD.
    En parcourant une grande partie des Tutoriaux, beaucoup traitent du code et de ADO.NET. Un coup on met un peu de SQL, un coup on en met pas, et comme j'ai dis dans un autre post, beaucoup de tutoriaux font référence à une base Access Microsoft.
    En parcourant un peu MSDN, il est finalement possible de faire énormément de choses "graphiquement" avec les différents éditeurs de VS2005, les glisser-déposer, ... la petite ligne de code qui remplit ma listbox vient de là d'ailleurs, j'ai rien écrit et ça fonctionne niquel. Mais cette manière de procéder et très rapidement limitée.

    Bref j'aurais besoin d'aide au moins pour m'aiguiller sur des tutoriaux qui traitent de la création (et accessoirement de son utilisation) d'une BDD SQL avec VS, et des tutoriaux simples pour manipuler les données car le coup des DataSet, TableAdapter et DataTable c'est pas des plus évidents.
    Y a quelques temps j'avais commencé un site en PHP et la manipulation en mysql était bien plus simple.

    Merci.

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 175
    Points : 25 116
    Points
    25 116
    Par défaut
    déjà peu importe la base, les objets sont les meme, c'est juste le namespace qui change

    pour access c'est dans system.data.oledb pour sql server c'est dans system.data.sqlclient
    tout marche par héritage de system.Data.common

    ensuite il est possible d'utiliser les assistants de VS, qui ne font que généré du code à mon gout un peu trop lourd (je suis pas fan des dataset)

    si tu veux taper le code toi meme il y a quelques objets à connaitre :
    il y a le dbconnection (oledbconnection, sqlconnection ou autre)
    qui sert à établir la connection (fournir une chaine en string, méthode open et close)
    dbcommand, il faut lui donner une connexion (l'ouvrir avant de faire execute), une requete, éventuellement des parametres et faire soit executenonquery (pour les insert delete update et autre requete qui ne retourne rien) soit faire executereader (et récupérer le dbreader quie ca retourne)
    le dbdatareader est retourné par executereader, c'est un genre de curseur en avant sur les données
    dbdatareader.read permet d'avancer le curseur d'un cran, et retourne true s'il a réussi (false s'il n'y a plus de lignes ou aucune)
    un fois la ligne positionée il est possible de lire les données de chaque colonne

    le datatable est un objet (non graphique) qui sert à stocker les données sous forme de tableau (ainsi que quelques infos sur les colonnes)
    le dataview permet de faire des tri et filtre sur un datatable
    le dataset permet de faire des mises à jour sur la base à partir d'un datatable provenant d'une base de données (il a besoin d'un dataadapter, objet qui fabrique les requete d'udpate, d'insert et de delete)

    donc si tu programme pour tes loisirs, tu peux essayer le dataset, l'avantage c'est qu'il y a peu de code à taper, tu mets le dataset dans un datagridview et il y a des fonctions pour les modifications sur le datagridview (et donc sur le dataset) soient répercutées sur la base de données
    (c'est vrai que pour un datagridview, le dataset est quand meme 100x plus simple)

    si tu as un peu plus de temps et/ou que tu veux faire un truc performant, tu peux te passer du dataset dans beaucoup de cas
    le dataset ne fait qu'utiliser un datareader pour remplir un datatable


    pour la création de la base, si tu es sur sql server CE tu peux le faire dans VS, si tu sur sql server normal je pencherais plus pour tout faire dans studio management

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    444
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 444
    Points : 428
    Points
    428
    Par défaut
    Pour la BDD je peux utiliser SQL Server Express mais il est possible de créer une base directement sous Visual Studio, ce que j'ai fait.

    Dans mon FormLoad j'ai juste cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.VendorTestTableAdapter.Fill(Me.MabasetestDataSet.VendorTest)
    qui a été générée automatiquement par Visual Studio. Ensuite j'ai associé une listebox avec un champ d'une table par glisser déposer, ce qui créé un biding accessible par le menu de la listbox dans l'onglet design.
    Et alors que j'ai aucune ligne de code associant ma listbox à mon dataset, les données de ma table se chargent correctement dans ma listbox. Pas de ligne de connection, pas de ligne de commande ...
    Si j'ai bien compris, l'utilisation des DataSet et compagnie c'est de l'ADO.NET
    Ce que je trouve déroutant c'est le fait que dans beaucoup de tutoriaux les termes DataSet et autres sont utilisés mais rarement avec des exemples graphiques, seul M. Lasserre le fait mais tous les exemples associent beaucoup de code.
    Et tout mon problème est là, j'ai du mal à associer les exemples de code avec le DataGridView visuel.

  4. #4
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 175
    Points : 25 116
    Points
    25 116
    Par défaut
    ado.net c'est tout ce qui est pour les accès aux bases de données en .net
    quand tu utilises les assistants, le code est généré automatiquement, il doit se trouver dans la sub initializecomponent (dans le fichier designer, caché par défaut dans l'explorateur de solution (2eme icone en haut pour basculer))

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    444
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 444
    Points : 428
    Points
    428
    Par défaut Edit
    Bon en reprenant doucement le tuto de M. Lasserre le ciel s'éclaircit car je commence à faire la connection entre le codage et mes éléments visuels.
    Par exemple je viens de me rendre compte que lorque je créé dans l'onglet Server Explorer à gauche une connection à une BDD (un fichier .mdf sur mon disque local pour mon cas), dans les paramètres de cette connection j'ai directement ma Connection String. En fait c'est le "tout automatique" qui me déroute un peu car si on commence à utiliser ce système il devient difficile de savoir ce qui nous est nécessaire de mettre comme code (connection, commande, ...)

    Si jamais, quand j'aurais beaucoup plus de connaissances, j'ai un peu de temps j'essairais de faire un tuto sur la parallèle entre de la programmation pure et l'utilisation de l'interface de Visual Studio pour dialoguer avec une BDD.
    Par exemple y a même un éditeur qui permet dans les TableAdaptater de créer des requêtes en sélectionnant si on veut faire un SELECT, INSERT ou autre puis les champs à sélectionner en fonction des tables que l'on a besoin. Y a limite peu voir pas de connaissances à avoir en SQL pour faire ça puisque le code est généré automatiquement et que l'on peut nommer soit-même cette procédure (comme Fill,GetData() qui est créée automatiquement quand on créé "graphiquement" les TableAdaptater).

    Merci pour ton aide car je sais maintenant ou se situe le codé généré par Visual Studio.

    Petit Edit pour ceux qui veulent faire une BDD SQL en .NET, il faut suivre le tutorial de M.Lasserre ici : http://plasserre.developpez.com/cour...bases-donnees2
    et remplacer les instructions qui commencent par OleDb... par SQL...

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

Discussions similaires

  1. Comment faire pour acceder au server de BDD MySQL avec VB.NET?
    Par buggen25 dans le forum Accès aux données
    Réponses: 2
    Dernier message: 10/08/2008, 12h42
  2. Connexion a Bdd Access avec VB.Net
    Par papy75 dans le forum Accès aux données
    Réponses: 1
    Dernier message: 29/04/2008, 06h55
  3. connection bdd mysql avec vb.net
    Par lmaaradji dans le forum VB.NET
    Réponses: 2
    Dernier message: 07/04/2008, 10h53
  4. Insertion de données dans une BDD Oracle avec VB.NET
    Par DashRendar dans le forum Accès aux données
    Réponses: 7
    Dernier message: 23/01/2008, 08h47
  5. [ADO.NET][VB.NET]Comment mettre à jour BDD avec DataSet?
    Par fuhraih dans le forum Accès aux données
    Réponses: 1
    Dernier message: 17/01/2006, 16h35

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