bonjour a tous,
je suis entrain de developper une petite application en c#, a ce moment je dois faire des selection dans une bd sql et afficher le resultat dans un datagrid, mais je suis confromnté a un problème, j'aimerais transformer ce bloc de code qui marche très bien en classe ou fonction. là a chaque moment que j'aurais un affichage a faire dans mon datagrid, je n'aurais qu'a appelé cette classe.
voici le bloc de code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 chaine_connexion = ConfigurationManager.AppSettings["MaConnection"];
             SqlConnection connexion = new SqlConnection(chaine_connexion);
             // SqlCommand CmdSelect = new SqlCommand(" SELECT CategoryId, CategoryName, Description FROM CATEGORIES ", chaine_connexion);
             SqlCommand CmdSelect = new SqlCommand(" Select	libelle_message, Message, convert(varchar(100),date_message,103) as Date_Mail ," +
                                                    " convert(varchar(30),heure_message,108) as heure_mail  , frequence_message ,	Date_Fixe From mail ", connexion);
             CmdSelect.CommandType = System.Data.CommandType.Text;
             //	//  Pour une procedure stockee nommée SP_SELECT_CATEGORIES (par exemple)
             //	    CmdSelect = new SqlCommand("SP_SELECT_CATEGORIES", MaConnection);
             //		CmdSelect.CommandType = System.Data.CommandType.StoredProcedure;
             //on utilise le dataadapter pour remplir le dataset
             //on attribue la command au SelectCommand
 
             SqlDataAdapter  MonDataAdapter = new SqlDataAdapter(CmdSelect);
             MonDataAdapter.UpdateCommand = CmdUpdate;
             MonDataAdapter.InsertCommand = CmdInsert;
             MonDataAdapter.DeleteCommand = CmdDelete;
 
 
             //on vide le dataset
             ds.Clear();
            // ds.Dispose();
            // ds.Tables.Add("Liste_Categorie");
 
             //on affecte le datasource du datagrid afin de visualiser les données
             DgResultat.DataSource = ds.Tables["Liste_Categorie"];
 
             //On rempli le dataset
             MonDataAdapter.Fill(ds.Tables["Liste_Categorie"]);
             CM = (CurrencyManager)BindingContext[ds.Tables["Liste_Categorie"]];
             //on affecte le datasource du datagrid afin de visualiser les données
             DgResultat.DataSource = ds.Tables["Liste_Categorie"];
voici comment j'ecris la classe mais elle génére des erreurs

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Timers;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections;
 
 
namespace Contact_Client
{
    class insert_update_select_delete
    {
        // declaration des variables
        private SqlCommand CmdSelect, CmdInsert, CmdUpdate, CmdDelete;
        string chaine_connexion = null;
        private SqlDataAdapter MonDataAdapter;
        //Le Dataset
        public DataSet ds = new DataSet();
        private CurrencyManager CM;
 
        public string resultat_selection;
 
 
 
        public void resultat_select()
        {
 
            chaine_connexion = ConfigurationManager.AppSettings["MaConnection"];
            SqlConnection connexion = new SqlConnection(chaine_connexion);
            // SqlCommand CmdSelect = new SqlCommand(" SELECT CategoryId, CategoryName, Description FROM CATEGORIES ", chaine_connexion);
            SqlCommand CmdSelect = new SqlCommand(" Select	libelle_message, Message, convert(varchar(100),date_message,103) as Date_Mail ," +
                                                   " convert(varchar(30),heure_message,108) as heure_mail  , frequence_message ,	Date_Fixe From mail ", connexion);
            CmdSelect.CommandType = System.Data.CommandType.Text;
            //	//  Pour une procedure stockee nommée SP_SELECT_CATEGORIES (par exemple)
            //	    CmdSelect = new SqlCommand("SP_SELECT_CATEGORIES", MaConnection);
            //		CmdSelect.CommandType = System.Data.CommandType.StoredProcedure;
            //on utilise le dataadapter pour remplir le dataset
            //on attribue la command au SelectCommand
 
            SqlDataAdapter MonDataAdapter = new SqlDataAdapter(CmdSelect);
            MonDataAdapter.UpdateCommand = CmdUpdate;
            MonDataAdapter.InsertCommand = CmdInsert;
            MonDataAdapter.DeleteCommand = CmdDelete;
 
 
            //on vide le dataset
            ds.Clear();
            // ds.Dispose();
            ds.Tables.Add("Liste_Categorie");
 
            //on affecte le datasource du datagrid afin de visualiser les données
            //DgResultat.DataSource = ds.Tables["Liste_Categorie"];
 
            //On rempli le dataset
            MonDataAdapter.Fill(ds.Tables["Liste_Categorie"]);
            CM = (CurrencyManager)(BindingContext[ds.Tables["Liste_Categorie"]]);
 
 
            //on affecte le datasource du datagrid afin de visualiser les données
            DgResultat.DataSource = ds.Tables["Liste_Categorie"];
        }
    }
}
s'il vous plait les gars donner moi un coup de main