Insertion de données avec sqldataadaptar

Résolu
vboussema
Messages postés
138
Date d'inscription
mercredi 1 février 2006
Statut
Membre
Dernière intervention
1 septembre 2009
- 27 nov. 2007 à 12:42
vboussema
Messages postés
138
Date d'inscription
mercredi 1 février 2006
Statut
Membre
Dernière intervention
1 septembre 2009
- 1 déc. 2007 à 09:01
salut;
j'ai un dataadapter et un dataset et j'aime insérer dans la bd en utilisant une procedure stoké
quand j'essay d'insérer en utilisant la commande da.update(ds)
il me dis que la table table est introuvable ou koi
je veut un petit bout de code qui fait l'insertion avec une procedure stoké

le code que j'utilise:

 myCommand = new SqlCommand();

                    myCommand.Connection = myConnection;
                    myCommand.CommandType = CommandType.StoredProcedure;
                    myCommand.CommandText = "sp_insert";
                     da.InsertCommand = cmd
                        da.Update(ds,"ali");
                        bs.DataSource = ds.Tables[0];
                        bn.BindingSource = bs;

et sa marche pas
et quand j'ai ajouter le fill
            this.con = con;
            this.cmd = cmd;
            da = new SqlDataAdapter(cmd.CommandText, con);
            da.Fill(ds, "ali");
            bs.DataSource = ds.Tables[0];
            bn.BindingSource = bs;
avec cmd une procedure stoké pour select
il n'y a pas d'erreur mais il n'y a aucune modification dans la base
faut il faire adddatarow ou autre???

//as you like

1 réponse

vboussema
Messages postés
138
Date d'inscription
mercredi 1 février 2006
Statut
Membre
Dernière intervention
1 septembre 2009
1
1 déc. 2007 à 09:01
bon j'ai réussi a faire sa:

 public void inserer(SqlCommand cmd)
        {
            ds.Clear();

            if (cmd != null)
            {
                da.InsertCommand = cmd;
                da.Fill(ds, "ali");
                DataRow dr = ds.Tables[0].NewRow();
                ds.Tables[0].Rows.Add(dr);
                try
                {
                    da.Update(ds, "ali");
                    bs.DataSource = ds.Tables[0];
                    bn.BindingSource = bs;
                }
                catch (Exception s)
                {
                   
                 MessageBox.Show(s.Message);
                }
            }
        }
il faut qu'on ajoute une ligne par ds.tables[0].newrow()
puis on rempli le datarow puis on l'ajoute au dataset par ds.tables[0].rows.add(dr)
et on fait da.update()
dans mon cas cette methode a pour paramètre une sqlcommande qui est paramétré et contient les valeurs a ajouter c pour cela que j'ai pas rempli le datarow!!!
en fin sa marche
//as you like
3