MàJ d'un dataset deconnecté

hbiloo Messages postés 11 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 30 octobre 2006 - 30 oct. 2006 à 18:45
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 - 31 oct. 2006 à 09:29
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

leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
31 oct. 2006 à 09:28
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.
0
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
31 oct. 2006 à 09:29
pardon, clické sur entrée trop vite.
avant de faire ton update, tu dois faire qqch du style
oDataAdapter.UpdateCommand = MyUpdateCommand;
0
Rejoignez-nous