MàJ d'un dataset deconnecté

Signaler
Messages postés
11
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
30 octobre 2006
-
Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
-
salut a tous
j' ai problem avec la MàJ d'un dataset deconnecté via un datagrid. sans plus de text voici le code :

using System.Windows.Forms;

using System.Data.OleDb;

namespace WindowsApplication1

{

    public partial class Form1 : Form

    {

        OleDbConnection oConnexion = new OleDbConnection();

        OleDbDataAdapter oDataAdapter = new OleDbDataAdapter();

        DataSet oDataSet = new DataSet("CLIENT");

        public Form1()

        {

            InitializeComponent();

        }

        private void Form1_Load(object sender, EventArgs e)

        {

            string chemin = Application.ExecutablePath,

                strConnString,

                strRequete;

            String p;

            p = Application.ExecutablePath;

            p = p.Substring(0, p.LastIndexOf("\"));

            strRequete = "SELECT * FROM CLIENT";

            strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;" +

                    "Data Source=" + p + "\\HOTEL.mdb;";

            try

            {

                oConnexion.ConnectionString = strConnString;

                oConnexion.Open();

                MessageBox.Show("Connexion réussie à :" + oConnexion.DataSource, "ADODotNet1");

            }

            catch (Exception ex)

            {

                MessageBox.Show("Description de l'erreur: " + ex.Message);

            }

            oDataAdapter = new OleDbDataAdapter(strRequete, oConnexion);

            oDataAdapter.Fill(oDataSet, "CLIENT");

            //dataGridView1 est une datagrid

            dataGridView1.DataSource = oDataSet.Tables["CLIENT"];

        }

        private void button1_Click(object sender, EventArgs e)

        {

            oDataAdapter.Update(oDataSet.Tables["CLIENT"]);

        }

        }

    }

}

voici le message d'erreur qu'il m affiche :
Informations supplémentaires : Update requiert un UpdateCommand valide lors du passage de la collection DataRow avec des lignes modifiées.

par contre, quand je met " oDataAdapter.Update(oDataSet); " au lieu de "oDataAdapter.Update(oDataSet.Tables["CLIENT"]
);
il donne le message suivant :
Informations supplémentaires : Impossible pour Update de trouver TableMapping['Table'] ou DataTable 'Table'.

merci à vous tous
[?]

2 réponses

Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
18
il est normal que ton adapter ne puisse pas faire de update puisque tu n'as pas défini la requete. il faut effectivement passer une table en paramètres (et non pas le dataset). ici, seule ta commande de select est définie.
Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
18
pardon, clické sur entrée trop vite.
avant de faire ton update, tu dois faire qqch du style
oDataAdapter.UpdateCommand = MyUpdateCommand;