Bonjour à tous, je suis pseudo débutant en C# et je crois que je vais avoir grand besoin de vous !
Voila mon problème, qui est sans doute très simple mais je m'en sors pas la :
j'ai une connexion à une base sql server dans une class connexion :
ensuite j'ai ma form princale Menu qui se connecte via cette classe de connexion, et ça ça marche ! j'ai le message "connexion ouverte !" :
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 public class connexion { //déclaration de la variable de connexion public static SqlConnection co; public connexion() { // // TODO: Add constructor logic here // } public static void ConnexionBase () { SqlConnection co = new SqlConnection(); string costr= "Data Source=(local);Initial Catalog=JFM-DVD;Integrated Security=SSPI"; co.ConnectionString = costr; try { co.Open(); MessageBox.Show("Connexion ouverte !!"); } catch(Exception ex) { MessageBox.Show("Impossible d'ouvrir la connexion : " + ex.Message); } finally { if (co.State == ConnectionState.Open) co.Close(); } } }
Voila. et enfin, dans une 3eme fenetre, je veux lancer une proc et remplir une liste. je fais comme ça et la ça plante avec le message suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 private void Form1_Load(object sender, System.EventArgs e) { //Connexion à la base à l'ouverture de l'application DVD_JF.connexion.ConnexionBase(); }
Une exception non gérée du type 'System.InvalidOperationException' s'est produite dans system.data.dll
Informations supplémentaires*: ExecuteReader*: la propriété Connection n'a pas été initialisée.
et voici le code qui plante :
Voila ! ça plante sur la ligne en gras ! merci d'avance pour votre aide !!
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 private void frmChoix_Load(object sender, System.EventArgs e) { //au lancement chargement de la liste des films à choisir SqlCommand cmd = new SqlCommand(); cmd.Connection = connexion.co; //requete de selection dans un datareader pour afficher les données. cmd.CommandText = "ps_dvd_select_1"; cmd.CommandType = CommandType.StoredProcedure; SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { lstFilms.Items.Add(dr["LIBELLE"].ToString()); } dr.Close();
Partager