Remplir un dataset (plusieurs tables)

Signaler
Messages postés
7
Date d'inscription
lundi 5 février 2001
Statut
Membre
Dernière intervention
19 avril 2004
-
Messages postés
7
Date d'inscription
mardi 4 janvier 2005
Statut
Membre
Dernière intervention
11 octobre 2005
-
bonjour a tous

alors je voudrai remplir un dataset de 3 tables differentes (c est un peu l avantage du dataset)

oui mais voila je recois sans cesse cette erreur :

Exception Details: System.InvalidOperationException: Fill: SelectCommand.Connection property has not been initialized.

Source Error:

Line 78: objCommand.CommandText = strClassement
Line 79: dbConn.open()
Line 80: objDataAdapter.fill(objDataSet, "classements")
Line 81: objCommand.CommandText = strClub
Line 82: objDataAdapter.fill(objDataSet,"club")

je ne comprends pas du tout pourquoi, si qq un pouvais m aider ca serait cool.

voici mon code


    sub BindDataDS()

            '1. Create a connection

            

            dim dbConn as OleDbConnection

            dbConn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Ole DB Services=-4; Data Source=\....\db.mdb")

            '2. Create the command object, passing in the SQL string

            

dim strClassement,strClub,strLeague as string

            

            strNat ="SELECT nationality FROM tb_nationality"

            strCity ="SELECT city FROM tb_cities"

            strLeisure="SELECT leisure FROM tb_leisure"

            dim objCommand as New OleDbCommand()

            objCommand.commandType = CommandType.text

            

            '3. Create the DataSet

            Dim objDataAdapter As OleDbDataAdapter

            objDataAdapter = New OleDbDataAdapter()

            objDataAdapter.SelectCommand = objCommand

            Dim objDataSet As DataSet

            objDataset = New DataSet()

            objCommand.CommandText = strNat

            dbConn.open()

            objDataAdapter.fill(objDataSet, "tb_nationality")

            objCommand.CommandText = strCity

            objDataAdapter.fill(objDataSet,"tb_cities")

            objCommand.CommandText = strLeisure

            objDataAdapter.fill(objDataSet,"tb_leisure")

            dbConn.close()

          

    end sub

3 réponses

Messages postés
7
Date d'inscription
mardi 4 janvier 2005
Statut
Membre
Dernière intervention
11 octobre 2005

Moi oci g le même probleme que toi alors si t'as pu le resoudre ce serai cool de me donner la solution

merci d'avance
Messages postés
7
Date d'inscription
lundi 5 février 2001
Statut
Membre
Dernière intervention
19 avril 2004

Bonjour

Cela fait tres longtemps et je ne m en souviens plus trop, si mes souvenirs sont bon malgres tout c est une histoire de variable qui passait mal avec les "objCommand.CommandText"

les strings :
 
strNat ="SELECT nationality FROM tb_nationality"

strCity ="SELECT city FROM tb_cities"

strLeisure="SELECT leisure FROM tb_leisure"


ne passaient pas, j ai donc annulé les variables et ai mis les string dirrectement (une heresie pour un programmeur mais bon ... personne n avait trouvé de soluce)
 
ObjDataAdapter.SelectCommand = new OleDbCommand("SELECT * FROM tb_classement",dbConn) 
ObjDataAdapter.fill(DataSet,"tb_classement") 

ObjDataAdapter.SelectCommand = new OleDbCommand("SELECT * FROM tb_compare",dbConn) 
ObjDataAdapter.fill(DataSet,"tb_compare") 

ObjDataAdapter.SelectCommand = new OleDbCommand("SELECT * FROM tb_resultat",dbConn) 
ObjDataAdapter.fill(DataSet,"tb_resultat") 


voila tiens moi au courant stp !
Phoelis
Messages postés
7
Date d'inscription
mardi 4 janvier 2005
Statut
Membre
Dernière intervention
11 octobre 2005

merci phoelis,

j'ai fais ce que tu m'as di et comme par magie mon erreur à disparue. Par contre si tu sais comment on fait pour recuperer une ligne (par exemple la ligne 5 du dataset) cela m'arrangerait car je doit afficher le resultat de ma requete dans une dropdownlist.

en fait pour afficher du texte dans ma dropdownlist aucun problème seulement pour recupére mes ligne dans le dataset pas moyen.



voila comment je rempli ma dropdownlist :


dropdownlist .Items.Insert(i, [chaine as string])

Mon dataset est rempli avec 2 colonnes, une pour le code de l'article et l'autre pour le libelé. Le champ qui m'interresse est celui du libelé et c'est la valeur de ce champ que je n'arrive pas à recuperer. Une fois que sera fait mon application commencera enfin à ressembler à quelque chose et le reste devrai être plus simple.

A + et bonne année