Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Comment enregistrer des données d'un dataGrid dans ma base SqlServer [ Base de données / ADO.NET ] (loic20h28)

vendredi 29 février 2008 à 15:05:41 | Comment enregistrer des données d'un dataGrid dans ma base SqlServer

loic20h28

Bonjour à tous,

Voila j'aimerais que les données se trouvant dans mon DataGrid soit enregistré dans ma base SqlServer 2000.

J'ai commencé a réaliser cela :
CODE :

SqlDataAdapter MonAdapter=

new SqlDataAdapter();

dataGrid2.Update();

DataTable dt=(DataTable) dataGrid2.DataSource;

MonAdapter.Update(dt);



Mais il m'affiche une erreure lorsque j'arrive à la 3éme ligne : " DataTable dt=(DataTable) dataGrid2.DataSource; "

L'erreur est la suivante : "

Informations supplémentaires*: Le cast spécifié n'est pas valide.
 "

Je vois pas comment faire pour résoudre ce problème, avez-vous une idée??

Feriez-vous de cette manière là ou d'une autre?? Si c'est d'une autre expliqué moi comment.

merci d'avance pour votre aide!!


vendredi 29 février 2008 à 17:41:48 | Re : Comment enregistrer des données d'un dataGrid dans ma base SqlServer

lassaad83

Membre Club
Salut Loic  

Je crois que tu dois utiliser un CommandBuilder....ce lien pourrait t'aidé.

vendredi 29 février 2008 à 17:47:01 | Re : Comment enregistrer des données d'un dataGrid dans ma base SqlServer

loic20h28

Salut lassaad83,

Merci pour ton renseignement mais ton lien correspond à un site sur java?? !! donc je vois pas comment ça peux m'aider pour faire du C#.

merci d'avance!!

vendredi 29 février 2008 à 18:15:24 | Re : Comment enregistrer des données d'un dataGrid dans ma base SqlServer

olibara

Les données dans ton datagrid viennent de ou ?
Quel est le datasource de to datagrid ?


vendredi 29 février 2008 à 18:21:00 | Re : Comment enregistrer des données d'un dataGrid dans ma base SqlServer

loic20h28

ben voici le code pour remplir ma DataGrid :

string

RelationClientele = ("SELECT RC_DHRELCL as DateHeure, RC_CNURELCL as Contenu, RC_TELCTACT as Tel, RC_MOYCTACT as MoyenContact FROM RELATION_CLIENTELE WHERE RC_NUMINTER = '" + NumInter.Text + "'");

connection =

new SqlConnection("Data Source=DIST-5B8D87E3A9;Initial Catalog=DistribInfo;Integrated Security=SSPI");

connection.Open();

try

{

SqlDataAdapter dataAdapter =

new SqlDataAdapter(RelationClientele, connection);

DataSet ds =

new DataSet();

dataAdapter.Fill(ds,"RelationClientele");

dataGrid2.DataSource = ds;

dataGrid2.DataMember = "RelationClientele";

}

catch(Exception ex)

{

MessageBox.Show(ex.ToString());

}

finally

{

connection.Close();

}


Je pense que ce code répond a tes questions olibara?? !!

merci d'avance!!


vendredi 29 février 2008 à 18:22:22 | Re : Comment enregistrer des données d'un dataGrid dans ma base SqlServer

lassaad83

Membre Club

Même si c'est un site Java le lien décris éxactement ce que tu veux faire mais en Vb...


vendredi 29 février 2008 à 18:25:53 | Re : Comment enregistrer des données d'un dataGrid dans ma base SqlServer

loic20h28

Ok lassaad83. Ok merci encor pour ce lien mais je comprend pas trop le java puis poour ce que j'en ai regadé, il me guide pas trop mais je vais continuer à l'étudier.

merci quand même pour tout!!

vendredi 29 février 2008 à 19:03:14 | Re : Comment enregistrer des données d'un dataGrid dans ma base SqlServer

olibara

Ok
Donc to datagridview et remplit par une requete sql et ton datasource est le dataset resultat de cette requete pour les mise ajour voici la methode magiqsue que j'ai mis un peu de tempq a trouver :

    // ************************************************************************************************************
    private void do_update()
    {

// Le plus important c'est de preparer les commandes sql , cette methode t'epargne de devoir le faire a la main ( tu dois donner ton adapter)

      MySqlCommandBuilder cb = new MySqlCommandBuilder(dataAdapter);

// Ensuite tu charge les modifs dans un ds temporaire et tu applique les differents cangemeents

      DataSet ch = new DataSet();
      ch = dsAddr.GetChanges(DataRowState.Deleted);
      if (null != ch)
      {
        int del=adaAddr.Update(ch);
        lbl_delcnt.Text = del.ToString();
      }

      ch = dsAddr.GetChanges(DataRowState.Modified);
      if (ch != null)
      {
        int upd=adaAddr.Update(ch);
        lbl_updcnt.Text = upd.ToString();
      }

      ch = dsAddr.GetChanges(DataRowState.Added);
      if (ch != null)
      {
        int add=adaAddr.Update(ch);
        lbl_addcnt.Text = add.ToString();
      }

// Dans mon cas j'ai ajouté cette comande car des deletes dans la table principale cree des orphelins dans une table liée

      MySqlCommand cmd = new MySqlCommand("DELETE from tours where addrID not in ( select addrID from address );", conn);
      int tourdel=cmd.ExecuteNonQuery();
      lbl_deltourcnt.Text = tourdel.ToString();
      dsAddr.AcceptChanges();
      
      return;


samedi 1 mars 2008 à 09:26:09 | Re : Comment enregistrer des données d'un dataGrid dans ma base SqlServer

loic20h28

Salut olibara,

Merci pour ton code, suis entrain d'essayer mais je me pose plusieurs questions :
    * que signifie "dsAddr" de la ligne : " ch = dsAddr.GetChanges(DataRowState.Deleted);"??
    * Que signifie "adaAddr" de la ligne : "int del=adaAddr.Update(ch);" ??
     * A quoi correspond "lbl_delcnt.Text" ainsi que "lbl_updcnt" et "lbl_addcnt" ??
     *
Puis je me demande dois-je remettre mon bout de code ou juste la création du DataAdapter??

merci d'avance pour les renseignements!!

samedi 1 mars 2008 à 10:03:57 | Re : Comment enregistrer des données d'un dataGrid dans ma base SqlServer

olibara


   * que signifie "dsAddr" de la ligne : " ch = dsAddr.GetChanges(DataRowState.Deleted);"??
dsAddr est le dataset qui sert de datasource a ton DGV (chez moi il s'appelle dsAddr)

    * Que signifie "adaAddr" de la ligne : "int del=adaAddr.Update(ch);" ??
adaAddr est l'adapter qui a inititié le query select : tu dois utiliser celui la pour pouvoir generer les commande avec
MySqlCommandBuilder cb = new MySqlCommandBuilder(dataAdapter);


     * A quoi correspond "lbl_delcnt.Text" ainsi que "lbl_updcnt" et "lbl_addcnt" ??
Ca c'est juste pour afficher dans ma form les resultats (counts) des modification faites


1 2 3 4 5

Cette discussion est classé dans : base, données, datagrid, datatable, sqlserver


Répondre à ce message

Sujets en rapport avec ce message

modifier des données d'une base à partir d'un datagrid(WinForm) [ par lePaimpolais ] Salut !j'ai un gros gros problème !!!!!!J'ai un datagrid avec une liaison sur une base de données.Je veux mettre à jour ou ajouter des nuplets dans ma Datagrid+base de données [ par fryounet ] Bonjour à tous,voila je programme en C#,j'ai réalisé un DataGrid et une connexion à une base de donnée serveur,la connexion et l'affiche de la table s datagrid et base de données [ par wayak3 ] Les donées de ma base sont affiché par un data grid .Avec le code suivant j'ajoute des données dans le datagridmaintenant j'aimerais savoir quel code Passage de dataGrid dans base de données en C# [ par sergeserge ] J'utilise MySQL, C#, et je travaille avec une base de données en local sur mon disque dur.Je n'ai pas de problème pour charger une Base De Données dan mise à jour bdd MySQL [ par patou1007 ] Bonjour,J'ai une base de données MySQL et un datagrid.J'arrive sans problème à afficher les données de ma table "employes" dans le datagrid.Seulement, Exporter une table DataTable vers une base de données MS Access [ par hlayachi ] BonjourDans ma petite application, j'ai créé un DataSet, une table DataTable et un DataGrid.Je veux soit ouvrir une base de données Access et afficher De datagrid vers base de données [ par aroua_anissa ] Bonjour tout le monde,Voila le prob. j'utilise une base MySQL avec C# et je veux mettre à jour la base de données aprés avoir modifier plusieur lignes Connection à une base de données sqlserver. [ par Dotnet2006 ] Bonjour tout le monde je suis nouveau dans ce site et j' ai besoin de votre aide svp. je veux créer une application tres simple en c#, application Win


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,390 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.