[VB.NET] Help sur acces BDD :)

Signaler
Messages postés
102
Date d'inscription
lundi 14 avril 2003
Statut
Membre
Dernière intervention
22 août 2005
-
Messages postés
329
Date d'inscription
jeudi 20 novembre 2003
Statut
Membre
Dernière intervention
10 mai 2014
-
Bonjour,

En etudiant plusieurs sources d'ici, j'ai reussi a me créer un ptit acces à une bdd.
Malheureusement ce n'est que de la recuperation et de l'assemblage de code que j'ai fais.
Ca marche mais j'aimerais bien que l'on m'explique les etapes de MON code (lol oui !).

****Bon ici jme connecte a la bdd j'ai compri car jmen suis meme fait une procedure :)
connexion() 'appel procedure

****Ensuite je prepare ma requete SQL
objCommand = New OleDbCommand("SELECT * FROM PERSONNAGE")

****La je sais pas trop ? surement pr recup les données via une vue ?
objDataAdapter = New OleDbDataAdapter(objCommand)

****La j'envoie ma requete
objCommand.Connection() = objConnection

****Ici chui paumé pr extraire les données ? On impose d'indiquer un et un seul nom de table jcomprends pas ? si j'ai une requete plus complexe comment cela se passe ?
objDataAdapter.Fill(objDataSet, "PERSONNAGE")

objDataTable = objDataSet.Tables("PERSONNAGE")

Je suis un peu perdu pr la recuperation de mes données notamment avec le DataAdapter.

Merci de me guider via des commentaires ou par des references a VB6 :))

DoR][aN

1 réponse

Messages postés
329
Date d'inscription
jeudi 20 novembre 2003
Statut
Membre
Dernière intervention
10 mai 2014
4
Salut

Je vais essayer de t'expliquer.

'Ta requete SQL
objCommand = New OleDbCommand("SELECT * FROM PERSONNAGE")

'Cela sert à faire le lien entre la base de données et le dataset (objet ou seront recopier les résultats de ta requête)
objDataAdapter = New OleDbDataAdapter(objCommand)

'Indique quel connexion à la base utiliser
objCommand.Connection() = objConnection

'Je ne serais t'expliquer, par contre
'objDataTable = objDataSet.Tables("PERSONNAGE")
'Récupération des données
'objDataAdapter.Fill(objDataSet, "PERSONNAGE")

'Ce que j'utilise moi
'Déclaré un dataset (va servir à récupérer les données)
dim DS1 as new dataset
'Déclaré un nom de table (pour faire le lien entre une table BDD et une table Datatset)
'1 Dataset peut comprendre plusieurs table
Dim MaTable as New Data.DataTable("MaTable")

'Ajouter la table au DataSet
DS1.Table.add(MaTable)
'Vider les données du dataSet de la Table Matable
DS1.Table("MaTable").clear

'Récupérer les données d'un requete
'Ici tu récupère dans une table du dataset les valeurs de ta requête exécuter plus haut dans le code
objDataAdapter.Fill(ds1.table("MaTable"))

'Voici un exemple de code tiré d'un de mes progs pour lire des données d'un Dataset

'J'ai déclaré un DataSet et une Table et je les ais ajoutés
DS1.Tables("AdhTable").Clear()
'SQLCom est l'objet Command pour une base SQL
'Ici j'affecte à SQLCom ma chaine de connexion
'SQLCX est du type SQLConnection
SqlCom.Connection = SqlCx
'Ma commande SQL
SqlCom.CommandText = "SELECT numadh FROM adhérents ORDER BY numadh;"
'L'afffectation à mon DataAdapter de ma requete SQL
SqlDA.SelectCommand = SqlCom
'J'execute ma requete SQL
SqlDA.SelectCommand.ExecuteNonQuery()
'Je récupère mes données
SqlDA.Fill(DS1.Tables("AdhTable"))
Dim i As Integer
'Je compte le nombre d'éléments de ma requête
For i = 0 To DS1.Tables("AdhTable").Rows.Count - 1
'Rows : représente une ligne
'Item : le nom du champ (ou index) dans la base
cbNumAdh.Items.Add(CStr(DS1.Tables("AdhTable").Rows(i).Item("numadh")))
cbNumAdh2.Items.Add(CStr(DS1.Tables("AdhTable").Rows(i).Item("numadh")))
Next

J'espère que çà pourra t'aider sinon n'hésite pas à demander,

@+

LIM