Copier les donnees du datareader dans un datagrid

sygmo Messages postés 19 Date d'inscription jeudi 7 octobre 2004 Statut Membre Dernière intervention 5 mars 2018 - 16 avril 2008 à 11:38
olibara Messages postés 666 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 11 mars 2010 - 16 avril 2008 à 17:34
Bonjour! je developpe une ptite application sous C# . je voudrai executer une procedure stockée comportant 3 parametres puis afficher le resultat dans un Datagrid. pour arriver a mes fin j'utilise plusieurs oibjets dont : SqlDataCommand et SqlDataReader.
Vous trouverez ci dessous la liste des objets utilisés puis les lignes de code ecrites:

// liste des objets utilisés
 Sqlconnection- SqlCommand-SqlDataReader-SqlDataAdatpter et un DataSet


//code au chargement du formulaire

pravite void form_load(...)
{
sqlconnection.Open();    // ouverture de la connection
SqlCommand = new Sqlcommand("Exec NomProcedurestocke para1,para2,para3"); //instruction sql executée
SqlDataAdapter.SelectCommand = SqlCommand;
SqlDataReader = SqlCommand.ExecuteReader;(CommandBehavior.connectionClose);
While(SqlDataReader.read())
{
dataset = new dataset(sqldatareader.getsqlValue(0). ToString());
SqlDataAdapter.Fill(dataset,"nomprocedurestocke");
datagrid.Datasource = "dataset";
datagrid.datamember = sqldatareader.ToString();
}
}
 NB : après l'execution ce message d'erreur s'affiche : Datareader associé à cette connection est dejà ouvert, il doit être fermé d'abord.
         je n'arrive qu'à extraire une seule colonne de l'enregistrement (et non tous les enregistrements)  en fonction de la valeur de l'index du Sqldatareader.

merci pour l'aide que vous voudrez bien m'apporter.

1 réponse

olibara Messages postés 666 Date d'inscription dimanche 16 décembre 2007 Statut Membre Dernière intervention 11 mars 2010 6
16 avril 2008 à 17:34
Ouille !


Je comprends pas tres bien tout ce que tu essaye de faire mais voici un exemple tres simple qui devrait suffire


      // declaration du string de commande
      selectcmd = "SELECT distinct dag,chauffeurID FROM `tours` order by chauffeurID, dag";
      // declaration de la commande dans l'adapter
      adaJourChauf.SelectCommand = new MySqlCommand(selectcmd, MyConn.conn);  
     // declaration d'un dataset
      DataSet dsJourChauf = new DataSet();
     // remplissage du dateset
      adaJourChauf.Fill(dsJourChauf);
    // Bind (et remplissage automatique du datagridview)
      dgv_Tour.DataSource = dsJourChauf.Tables[0];

Voila c'est fini !
0
Rejoignez-nous