begin process at 2008 07 20 03:19:25
1 213 119 membres
42 nouveaux aujourd'hui
14 166 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : copier les donnees du datareader dans un datagrid [ Base de données / ADO.NET ] (sygmo)

copier les donnees du datareader dans un datagrid le 16/04/2008 11:38:49

sygmo

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.


Re : copier les donnees du datareader dans un datagrid le 16/04/2008 17:34:50

olibara

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 !



Classé sous : dataset, datagrid, datareader, sqlcommand, sqldatareader

Participer à cet échange

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Boutique

Boutique de goodies CodeS-SourceS