Bonjour,

J'essaie de peupler une ListBox par l'appel d'un procédure stockée :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
SQLServer sqlServer = new SQLServer("monServeur", "MaBD", "login", "pass");
 
        DataSet ds = sqlServer.appelleProc(TextBox1.Text.ToString(), TextBox2.Text.ToString());
 
        foreach (DataTable dt in ds.Tables)
        {
            foreach(DataRow row in dt.Rows)
            {
                ListBox1.Items.Add(row.ToString());
            }
        }
La méthode appelleProc est la suivante :

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
    public DataSet appelleProc(String p1, String p2)
    {
        try
        {
            // Creation de l'object encapsulant la procédure stockée
            SqlCommand sqlCmd = new SqlCommand("maProcedureStockee", sqlConnection);
            sqlCmd.CommandType = CommandType.StoredProcedure;
 
            // Ajout des paramètres et de leur valeur
            sqlCmd.Parameters.AddWithValue("@_p1", p1);
            sqlCmd.Parameters.AddWithValue("@_p2", p2);
 
            // Execution de la procedure stockée
            SqlDataAdapter da = new SqlDataAdapter();
            da.SelectCommand = sqlCmd;
 
            // Recupération du DataSet
            DataSet ds = new DataSet();
            da.Fill(ds);
 
            return ds;
        }
        catch (Exception e)
        {
            return null;
        }
    }
Et l'erreur que j'obtiens à l'exécution est la suivante, ligne 38 :

Ligne 36 : DataSet ds = sqlServer.appelleProc(TextBox1.Text.ToString(), TextBox2.Text.ToString());
Ligne 37 :
Ligne 38 : foreach (DataTable dt in ds.Tables)
Ligne 39 : {
Ligne 40 : foreach(DataRow row in dt.Rows)

[NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.]
Quelle(s) erreur(s) ai-je faites (au niveau de l'erreur elle même et dans le reste du code)?

Merci