Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1071 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#]DataGridView et MàJ

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C#]DataGridView et MàJ

n°1786804
DMSilencer
Posté le 15-09-2008 à 10:14:07  profilanswer
 

Bonjour,
 
Question basique pour un newbie dans ce domaine :
J'affiche sans soucis des données provenant d'une base SQL Server 2005 dans un DataGridView.
Peux ton les modifier directement et répercuter les modifications dans la base ?
Si oui comment ?
 
J'ai beau surfer je ne vois pas de réponse à ma question triviale, et mes essais sont infructueux (tout ce que je modifie disparait, pas de commit ? )
 
Merci  :)
 
J'ai tenté un truc comme ca mais il me manque la signification de chaque partie, et ca ne marche pas là.. :
operationsTableAdapter1.Update((DataTable)bindingSource1.DataSource);


Message édité par DMSilencer le 15-09-2008 à 10:20:08
mood
Publicité
Posté le 15-09-2008 à 10:14:07  profilanswer
 

n°1786849
MagicBuzz
Posté le 15-09-2008 à 11:36:13  profilanswer
 

En gros :
 

Code :
  1. SqlCommand cmd = ...;
  2.  
  3. // Tu bidouilles ta cmd pour avoir la requête SELECT portant sur une table en évitant les jointures, et en récupérant bien la PK
  4.  
  5. SqlDataAdapter da = new SqlDataAdapter(cmd);
  6. SqlCommandBuilder cb = new SqlCommandBuild(cmd);
  7.  
  8. da.InsertCommand = cb.GetInsertCommand();
  9. // idem avec update et delete
  10.  
  11. DataTable dt = new DataTable();
  12. da.Fill(dt);
  13.  
  14. MaDataGrid1.DataSource = dt;


=> Et sur le "save" de ta form, tu fais un da.Update()
 
(en gros, j'ai pas le code en tête et je suis en train d'installer Oracle chez un client, pas trop le temps de te faire un exemple complet)


Message édité par MagicBuzz le 15-09-2008 à 17:10:17
n°1786858
DMSilencer
Posté le 15-09-2008 à 11:47:19  profilanswer
 

Merci, mais j'ai eu le défaut (peut être) d'utiliser les facilités, les automatismes de l'environnement de C# 2008.
Je vais voir le code pour ca.
Ca fait tellement longtemps que je n'ai plus codé, ou alors très peu.. (j'en étais au Pro-C et souvent des SGBD comme Oracle (7 ou 8) :) )

n°1786875
MagicBuzz
Posté le 15-09-2008 à 12:26:24  profilanswer
 

Ben là y'a quand même pas grand chose à coder hein ;)
 
10 à 20 lignes en 5 minutes quand en C il faut 500 lignes et 3 jours ;)

n°1786889
DMSilencer
Posté le 15-09-2008 à 13:11:56  profilanswer
 

MagicBuzz a écrit :

Ben là y'a quand même pas grand chose à coder hein ;)
 
10 à 20 lignes en 5 minutes quand en C il faut 500 lignes et 3 jours ;)


 
C'est sur mais je me rends compte que maintenant il faut avoir une sacré bibliothèque à la place du cerveau pour retenir toutes les classes utiles et comment les utiliser..

n°1786903
DMSilencer
Posté le 15-09-2008 à 13:33:48  profilanswer
 

SqlDataAdapter c'est plutot SqlCeDataAdapter chez moi.
SqlCommandBuild => SqlCeCommand
etc..
 
Et le module dbRegieDataSet.Designer.cs fait 1542 lignes... (dbRegie c'est le nom de la db..)
 
 
Le Fill se présente ainsi :
this.operationsTableAdapter1.Fill(this.dbRegieDataSet.Operations);
 
Pour l'update apparemment ca devrait être çà :
this.operationsTableAdapter1.Update(this.dbRegieDataSet.Operations);


Message édité par DMSilencer le 15-09-2008 à 13:37:48
n°1787007
DMSilencer
Posté le 15-09-2008 à 15:34:24  profilanswer
 

C'est bien ça, c'est bon je suis sur les rails.
Merci pour le coup de pouce.

n°1787128
MagicBuzz
Posté le 15-09-2008 à 17:08:09  profilanswer
 

Je pige pas trop pkoi tu passes par le namespace SqlCe si tu tapes dans une base SQL Server 2005... SqlCe c'est pour faire du SQL Server Compact Edition (pour Windows Mobile typiquement...) :heink:
 
(m'enfin si ça marche c'est le principal :whistle:)

Message cité 1 fois
Message édité par MagicBuzz le 15-09-2008 à 17:08:44
n°1787130
MagicBuzz
Posté le 15-09-2008 à 17:09:40  profilanswer
 

DMSilencer a écrit :


 
C'est sur mais je me rends compte que maintenant il faut avoir une sacré bibliothèque à la place du cerveau pour retenir toutes les classes utiles et comment les utiliser..


t'as rien à retenir. juste grossomodo dans quel namespace founier quand t'as besoin d'un truc. après l'intellisense de visual studio fait le travail pour toi ;)


Message édité par MagicBuzz le 15-09-2008 à 17:09:53
n°1787434
DMSilencer
Posté le 16-09-2008 à 08:41:37  profilanswer
 

MagicBuzz a écrit :

Je pige pas trop pkoi tu passes par le namespace SqlCe si tu tapes dans une base SQL Server 2005... SqlCe c'est pour faire du SQL Server Compact Edition (pour Windows Mobile typiquement...) :heink:
 
(m'enfin si ça marche c'est le principal :whistle:)


 
Ce n'est pas moi mais le système de C# 2008 qui me construit ça lorsque j'utilise visual studio. : je crée ma db (sqlserver 2005 express) et je met mon datagridview, je le paramètre pour lui affecter la bonne table, et puis j'ai du code que je dois compléter pour que ca puisse vivre.


Message édité par DMSilencer le 16-09-2008 à 08:42:13
mood
Publicité
Posté le 16-09-2008 à 08:41:37  profilanswer
 

n°1787452
MagicBuzz
Posté le 16-09-2008 à 09:25:35  profilanswer
 

Sauf qu'à mon avis, t'as créé une base SQL Server 2005 CE et non SQL Server 2005 Express. Parceque le namespace SqlCe ne sert clairement pas à se connecter à SQL Server 2005 Express ;)

n°1787453
DMSilencer
Posté le 16-09-2008 à 09:32:08  profilanswer
 

Je n'avais pas beaucoup de choix :
Base Access
SQL Server
SQL Server Compact 3.5

n°1787473
MagicBuzz
Posté le 16-09-2008 à 10:07:34  profilanswer
 

A mon avis t'as ripé et cliqué sur SQL Server Compact 3.5


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#]DataGridView et MàJ

 

Sujets relatifs
[C++] petite question sur les std::vectors[C] Allocation maximale (gcc sous cygwin)
[C] sizeof et variable de structure[Resolu][C#, ASP.net / access] problème requete update
C'est la saint florentg!C# comparativement à Java
[C/C++] controller le preprocesseurprogrammation C
Apprendre le C#[RESOLU] Visual C++ 6.0 : Plantage à la compilation
Plus de sujets relatifs à : [C#]DataGridView et MàJ


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR