sygmo
Messages postés19Date d'inscriptionjeudi 7 octobre 2004StatutMembreDernière intervention 5 mars 2018
-
16 avril 2008 à 11:38
olibara
Messages postés666Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 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.
olibara
Messages postés666Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 mars 20106 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];