[QUESTION] la réference d'objet n'ai pas définie a une instance d'un objet - ? [Résolu]

Signaler
Messages postés
4
Date d'inscription
samedi 18 juillet 2009
Statut
Membre
Dernière intervention
27 août 2008
-
Messages postés
4
Date d'inscription
samedi 18 juillet 2009
Statut
Membre
Dernière intervention
27 août 2008
-
Bonjour,

Voila j'essaye de me lancer dans le C# et j'obtiens le message d'erreur :

" la réference d'objet n'ai pas définie a une instance d'un objet "

lorsque je veux executer mon code d'update du dataset vers la bdd.

merci d'avance

<hr size="2" width="100%" />#region Button3 - Update
private void button3_Click(object sender, EventArgs e)
{
try
{
CM.EndCurrentEdit();
MonAdapter.Update(ds.Tables["Liste_article"]);
ds.Clear();
MonAdapter.Fill(ds.Tables["Liste_article"]);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
#endregion

<hr size="2" width="100%" />

4 réponses

Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
13
tout ca me rappelle kkchose :)

sinon si tu na pas cliquer  sur ton button1 ton CM n'est pas intialiser ==> ton erreur
dans ton constructeur apres

ds.Tables.Add("Liste_article");

rajoute

CM = (CurrencyManager)BindingContext[ds.Tables["Liste_article"]];

et ca devrait marcher

<hr />Arthenius
"Ce qui ne me tue pas, me rend plus fort..."
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
86
Salut,

Voir les autres membres de Exception pour identifier la ligne exacte.
A vue de nez vu le code, c'est probablement CM, MonAdapter, ds ou ds.Tables["Liste_article"]

/*
coq
MVP Visual C#
CoqBlog
*/
Messages postés
4
Date d'inscription
samedi 18 juillet 2009
Statut
Membre
Dernière intervention
27 août 2008

voici le code entier si  ça peut aider . .
<hr size="2" width="100%" />
namespace WindowsApplication1

{

public partial class Form1 : Form

{


#region init


private SqlConnection connect;

private string connection1;

private DataSet ds = new DataSet();

private CurrencyManager CM;

private SqlDataAdapter MonAdapter;

private SqlCommand CmdSelect, CmdInsert, CmdUpdate, CmdDelete;


#endregion


#region Constructeur

public Form1()

{

InitializeComponent();

try

{

connection1 = @"Data Source=sept;Initial Catalog=db1;User ID=gstock;password=gst01;Trusted_connection=False";

connect = new SqlConnection(connection1);


//-

ds.Tables.Add("Liste_article");


}

catch (Exception xcp)

{

MessageBox.Show(xcp.Message);

}


}

#endregion


#region Button1 - Connection/Rq Simple

private void button1_Click(object sender, EventArgs e)

{

try

{

CmdSelect = new SqlCommand("SELECT ref_art, nom_art, designation_art FROM articles", connect);

CmdSelect.CommandType = System.Data.CommandType.Text;

//-

MonAdapter = new SqlDataAdapter(CmdSelect);

//-

ds.Clear();

//-

MonAdapter.Fill(ds.Tables["Liste_article"]);

CM = (CurrencyManager)BindingContext[ds.Tables["Liste_article"]];

//-

dataGridView1.DataSource = ds.Tables["Liste_article"];

}

catch (Exception xcp)

{

MessageBox.Show(xcp.Message);

}

}

#endregion


#region Button2 - DataAdapter

private void button2_Click(object sender, EventArgs e)

{

try

{

CmdSelect = new SqlCommand("SELECT id_art, ref_art, nom_art, designation_art FROM articles", connect);

CmdSelect.CommandType = System.Data.CommandType.Text;

//-

CmdUpdate new SqlCommand("UPDATE articles SET ref_art @refart,
nom_art @nomart, designation_art @designationart WHERE id_art =
@idart", connect);

CmdUpdate.Parameters.Add(new SqlParameter("@refart", SqlDbType.VarChar, 50, "ref_art"));

CmdUpdate.Parameters.Add(new SqlParameter("@nomart", SqlDbType.VarChar, 50, "nom_art"));

CmdUpdate.Parameters.Add(new SqlParameter("@designationart", SqlDbType.VarChar, 250, "designation_art"));

CmdUpdate.Parameters.Add(new SqlParameter("@idart", SqlDbType.Int, 10,"id_art"));

//-

MonAdapter = new SqlDataAdapter(CmdSelect);

MonAdapter.UpdateCommand = CmdUpdate;

//-

ds.Clear();

//-

MonAdapter.Fill(ds.Tables["Liste_article"]);

//-

textBox1.DataBindings.Clear();

textBox2.DataBindings.Clear();

textBox3.DataBindings.Clear();

textBox4.DataBindings.Clear();

//-

textBox1.DataBindings.Add("Text", ds.Tables["Liste_article"], "id_art");

textBox2.DataBindings.Add("Text", ds.Tables["Liste_article"], "ref_art");

textBox3.DataBindings.Add("Text", ds.Tables["Liste_article"], "nom_art");

textBox4.DataBindings.Add("Text", ds.Tables["Liste_article"], "designation_art");

//-

dataGridView1.DataSource = ds.Tables["Liste_article"];

//-

button3.Enabled = true;

}

catch (Exception xcp)

{

MessageBox.Show(xcp.Message);

}

}

#endregion

#region Button3 - Update

private void button3_Click(object sender, EventArgs e)

{

try

{

CM.EndCurrentEdit();

//-

MonAdapter.Update(ds.Tables["Liste_article"]);

//-

ds.Clear();

//-

MonAdapter.Fill(ds.Tables["Liste_article"]);

}

catch (Exception xcp)

{

MessageBox.Show(xcp.Message);

}

}

#endregion

}

}
Messages postés
4
Date d'inscription
samedi 18 juillet 2009
Statut
Membre
Dernière intervention
27 août 2008

Slt Merci oui j'avais trouver peu après avoir mis ce post, je n'ai pas fais assez attention sur le coup, et c'est vraie qu'en cliquant sur le bouton1 aucune, erreur, et c'etait seulement sur le 2 car le CM n'etait pas déclarer.

Je viens de fermer le sujet, mais je te remercie . . .