begin process at 2010 02 10 02:27:31
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Base de données

 > EXEMPLE D'UTILISATION D'UN DATAGRID, DATAADAPTER, SELECT SUR BDD AVEC PARAMETRE, DATABINDING...

EXEMPLE D'UTILISATION D'UN DATAGRID, DATAADAPTER, SELECT SUR BDD AVEC PARAMETRE, DATABINDING...


 Information sur la source

Note :
7,4 / 10 - par 5 personnes
7,40 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Base de données Source .NET ( DotNet ) Classé sous :datagrid, dataadapter, databinding, bdd, currencymanager Niveau :Débutant Date de création :22/11/2004 Date de mise à jour :24/04/2006 13:25:40 Vu / téléchargé :30 458 / 5 726

Auteur : Arthenius

Ecrire un message privé
Site perso
Commentaire sur cette source (23)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Salut, tout le monde.
Suite à pas mal de discussion sur ce forum, je me suis dis qu'un petit exemple de comment utiliser un dataadapter simplement pour gérer une table d'une base de données, pourrait servir à certain(es).
Tout est dans le code....j'essaye d'expliquer un peu comment faire un select (avec parametre) et parametrer un dataadapter....
Je parle aussi du databinding, lier un dataset à des textbox....
bref ca peut servir pour debuter une appli en utilisant une BDD...
il se peut que vous soyez obliger de modifier la chaine de connection (ConnectionString) afin que l'appli puisse se connecter à la base de données Northwind de sql Server....
c'est la seul chose que vous devrez faire pour voir le code fonctionner....(par défaut la bdd est chercher sur localhost)...

Voila un petit code sans prétention, mais qui peu aider ceux (et celles) qui commence en c# et qui veulent "attaquer" une bdd...


 Conclusion

Voila....
si ca vous plait poster un commentaire...
si ca vous plait pas...poster aussi.... :o)))

@+

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

22 novembre 2004 09:53:19 :
j'avais oublie de cocher la case .Net
04 avril 2005 12:02:21 :
Coorection du titre de la source
24 avril 2006 13:25:41 :
Rajout : * un bouton Nouveau * un bouton Supprimer * Utilisation des CurrencyManager

 Sources du même auteur

Source avec Zip Source .NET (Dotnet) LIAISON DE 3 TABLES GRACE AU CURRENCYMANAGER
Source avec une capture Source .NET (Dotnet) EXEMPLE DE PROPRIÉTÉ D'OBJET AVEC UN PETIT PLUS DANS LA FENE...
Source avec Zip Source avec une capture Source .NET (Dotnet) CONNECTIONSTRING SQL SERVER ET ACCESS, XML ET PRESSE PAPIER
Source avec Zip Source .NET (Dotnet) EXEMPLE D'UTILISATION DE DATAGRID AVEC 2 TABLES ORDERS ET DE...

 Sources de la même categorie

Source avec Zip Source avec une capture Source .NET (Dotnet) DEMO_XML_BASE_DE_DONNÉES par DanMor498
Source avec Zip Source avec une capture Source .NET (Dotnet) EXPORTER SCRIPT SQL SQL SERVER (CREATE - DROP - INSERT - TAB... par citt
Source avec Zip Source .NET (Dotnet) BULKINSERT EN C# par Malkuth
Source avec Zip Source avec une capture Source .NET (Dotnet) SPLIT SQL SANS TABLE TEMPORAIRE par TheOnlyMaX
Source avec Zip Source .NET (Dotnet) MOTEUR CSV ET RECORDSET PERSO par SwitchApocalyps

 Sources en rapport avec celle ci

Source .NET (Dotnet) COPIER/ COLLER DATAGRID (COPY/PASTE) par jamesbidon
Source avec Zip Source avec une capture Source .NET (Dotnet) [WPF] NOTIFIER L'INTERFACE UTILISATEUR DE LA MODIFICATION D'... par Thomas LEBRUN
Source avec Zip Source .NET (Dotnet) LIAISON DE 3 TABLES GRACE AU CURRENCYMANAGER par Arthenius
Source .NET (Dotnet) MISE À JOUR BDD PROVENANT D'UN DATAGRID par tmcuh
Source avec Zip Source avec une capture Source .NET (Dotnet) C# WINDOWS FORM DATABINDING AVEC DATAGRID + COMBOX DANS LES ... par VicoLaChips2

Commentaires et avis

Commentaire de jimmy69 le 23/11/2004 13:00:47

salut salut  Arthenius,

C'est exactement ce qu'il faut au debutant en c# qui veulent attaquer les db ....et comme j'en fais partie c'est ce qu'il me faut !

Une bonne semaine

ciao
Christophe

Commentaire de Arthenius le 23/11/2004 13:09:07

tant mieux :o)))

c la pour ca :o)

Commentaire de MADfou le 03/01/2005 17:07:01

merci moi aussi il me fallait un truc comme ca !

tu déchire

Commentaire de petitelarve le 24/02/2005 14:56:46

ahh cool moi c le databinding qui manquait dans ma pti :) merki

Commentaire de smp le 10/03/2005 10:53:24

Une erreur sur sqlDataAdapter1.Fill(DataSet1) ??

Commentaire de Arthenius le 10/03/2005 10:59:16

??? ou ca ???
peut etre un pb de connexion a ta base ???
verifie la ConnectionString...

Commentaire de piroman38 le 23/03/2005 13:49:29

Un seul mot  : Merci :)

je luttais pour trouver quelquechose de clair concernant le traitement de données d'une DB SQL via C# et la tout y est !!!

GG THX

Commentaire de funnydjo le 25/04/2005 23:18:57

Merci c'est super pratique ton petit tuto.

Commentaire de Arthenius le 26/04/2005 09:16:35

merci :o)))

Commentaire de gcorbineau le 27/06/2005 14:55:34

je te remercie de ton source il m'a débloqué sur un point de détail assez important

Commentaire de collinv10 le 09/03/2006 19:41:39

Arthenius t'es vraiment un "king"!

C'est vraiment un beau bout de code bien documenté qui m'a beaucoup, beaucoup aidé!

Merci beaucoup!!!!

Vincent

Commentaire de Arthenius le 24/04/2006 13:26:39

voila j'ai mis a jour...
en rajoutant un bouton nouveau et supprimer

et rajout de l'utilisation des currencymanager ..bien plus propre que ce que j'avais fait ^^

Commentaire de blind666 le 04/07/2006 11:52:20

Yeah man !!!!!!

C est du bon boulot et ça fait plaisir de voir quelque chose d aussi clair quand tu debutes!!!!!!
Merci...

Un petit exemple avec un datagrid, selection de lignes et visualisation dans un autre grid ça le ferait bien aussi (j arrive pas a le faire!!!), ceux que je trouve sur le net ne sont pas clairs :-)

Commentaire de Arthenius le 04/07/2006 14:30:11

merci merci

pour ton pb de visualisation dans un autre grid

utilise le meme datasource pour chacune de tes grids mais affiche des choses differentes pour chacune d'elle

ainsi si dans ta grid de selection tu change d'enregistremnt ca devrait mettre a jour la 2eme grid de visu....
je pense..

Commentaire de blind666 le 04/07/2006 15:46:45

ok j essaierais de le faire et je tiens au courant.
Merci d avance!!!!!

Commentaire de spocks50 le 29/01/2007 20:39:42

Hello ca ces du beau travail...moi aussi je cherchais quelque chose comme cela...jai surement vue mais pas assez clair pour le voir... merci encore ...et continue de faire connaitre au autres ton travail.... Moi je fait un gestionnaire de disque.... ces pas de la petite gomme....rire....

merci encore...

spocks50@hotmail.com

Commentaire de KOFFIPaul le 24/04/2007 14:26:49

Sujet : EXEMPLE-UTILISATION-DATAGRID-DATAADAPTER-SELECT-SUR-BDD-AVEC_27738.zip

Message :
Dabort, je vous dit grand merci pour le code, il fait parfaitement mon affaire (je fais mes premier pas dans le développemnt). Cepandent quand je l'implémente sur ma machine en environnement VBDOT.NET 2003, les boutons "nouveau et supprimer" ne fonctionnent pas. message d'erreur 'Bt_nouveau_Click':la référence d'objet n'est pas définie à une intance d'objet.
'Bt_supprimer_Click':la référence d'objet n'est pas définie à une intance d'objet.
Aussi, lorsque je crée mes objets (Private cuurencyManager CMAppart et Private cuurencyManager CMBat)
à l'exécution, il me donne les messages d'erreurs suivants:le champ'GestionImmobilière.F_CreationBatiement.CMAppart' n'set jamais assigné et possédera toujours sa valeur par défaut nul. Et le champ'GestionImmobilière.F_CreationBatiement.CMBat' n'set jamais utilsé.
Aidez mois s'il vous plais.

Commentaire de Arthenius le 24/04/2007 14:45:42

Bonjour,  désolé de ne pas avoir repondu à votre MP (pas eu le temps ^^)

sinon pour le bouton supprimer ou nouveau etes vous sur d'avoir cette ligne :  

ds.Tables.Add("Liste_Categorie");

dans votre application

ou alors le Currencymanager qui n'est pas bien parametrer sur votre appli

il faut bien utiliser ce genre de syntaxe :

CM = (CurrencyManager) BindingContext[ds.Tables["Liste_Categorie"]];

des que votre datagrid recoit comme datasource : ds.Tables["Liste_Categorie"]

Commentaire de KOFFIPaul le 26/04/2007 09:46:56

Mon cher ARTHENUS, je te dis grand merci pour tout. Tu as vu juste, le problème était au niveau de la syntaxe. A la réception de la datasource, je n'est pas inscris le CurrencyManager ( CM = (CurrencyManager) BindingContext[ds.Tables["Liste_Categorie"]]).

Commentaire de KOFFIPaul le 03/05/2007 09:44:53

Message :
Mon formulaire est basé sur deux tables (Bâtiment et Appartement) et la clé primaire de Bâtiment est une clé étrangère dans la table Appartement, mon datagril est basé sur l?appartement, mais il affiche uniquement les appartements ayant le même numéro Bâtiment (numéro du Bâtiment affiché dans le formulaire).
Mon problème est que lorsque je vais un update, je reçois un message d?erreur « la variable @numAppt doit être déclarée »
Voici quelques lignes de code qui concernent les dataadatper et Update
Dataadatper :
//Select
CmdSelect1 = new SqlCommand("SELECT numBatiment,Ilot,Lot,quartierBatiment,communeBatiment FROM BATIMENT",MaConnect);
CmdSelect1.CommandType = System.Data.CommandType.Text;

CmdDelete1 = new SqlCommand("DELETE FROM BATIMENT WHERE numBatiment = @numBatime",MaConnect);
CmdDelete1.Parameters.Add(new SqlParameter("@numBatime",SqlDbType.Int,5,"numBatiment"));

//On parametre l'update
CmdUpdate1 = new SqlCommand("UPDATE BATIMENT SET Ilot = @IlotBa, Lot = @LotBa, quartierBatiment = @quartierBa, communeBatiment = @communeBa");
CmdUpdate1.Parameters.Add(new SqlParameter("@IlotBa",SqlDbType.Int,4,"Ilot"));
CmdUpdate1.Parameters.Add (new SqlParameter("@LotBa", SqlDbType.Int,4,"Lot"));
CmdUpdate1.Parameters.Add(new SqlParameter("@quartierBa", SqlDbType.VarChar,30,"quartierBatiment"));
CmdUpdate1.Parameters.Add(new SqlParameter("@communeBa", SqlDbType.VarChar,30,"communeBatiment"));
CmdUpdate1.Parameters.Add(new SqlParameter("@numBatime", SqlDbType.Int,5,"numBatiment"));

//On parametre l'insertion
CmdInsert1 = new SqlCommand("INSERT INTO BATIMENT(numBatiment,Ilot,Lot,quartierBatiment,communeBatiment) VALUES(@numBatime,@IlotBa, @LotBa, @quartierBa, @communeBa)",MaConnect);
CmdInsert1.Parameters.Add(new SqlParameter("@numBatime", SqlDbType.Int,5,"numBatiment"));
CmdInsert1.Parameters.Add(new SqlParameter("@IlotBa", SqlDbType.Int,4,"Ilot"));
CmdInsert1.Parameters.Add(new SqlParameter("@LotBa", SqlDbType.Int,4,"Lot"));
CmdInsert1.Parameters.Add(new SqlParameter("@quartierBa", SqlDbType.VarChar,30,"quartierBatiment"));
CmdInsert1.Parameters.Add(new SqlParameter("@communeBa", SqlDbType.VarChar,30,"communeBatiment"));

//On utilise le dataadapter pour remplir le dataset
//On attribue la command au SelectCommand
BatDataApter = new SqlDataAdapter(CmdSelect1);
BatDataApter.UpdateCommand = CmdUpdate1;
BatDataApter.InsertCommand = CmdInsert1;
BatDataApter.DeleteCommand = CmdDelete1;

// On vide le dataset
dsBat.Clear();
//On rempli le dataset
BatDataApter.Fill(dsBat.Tables["BATIMENT"]);
//On ote tout databinding sur les texbox
TxtNumBat.DataBindings.Clear();
TxtLotBat.DataBindings.Clear();
TxtIlotBat.DataBindings.Clear();
TxtQuarBat.DataBindings.Clear();
TxtComBat.DataBindings.Clear();
//Om met emplace le databinding sur les texbox
TxtNumBat.DataBindings.Add("Text", dsBat.Tables["BATIMENT"], "numBatiment");
TxtLotBat.DataBindings.Add("Text", dsBat.Tables["BATIMENT"],"Ilot");
TxtIlotBat.DataBindings.Add("Text", dsBat.Tables["BATIMENT"], "Lot");
TxtQuarBat.DataBindings.Add("Text", dsBat.Tables["BATIMENT"],"quartierBatiment");
TxtComBat.DataBindings.Add("Text", dsBat.Tables["BATIMENT"], "communeBatiment");
}
catch(Exception xcp)
{
MessageBox.Show(xcp.Message);
}
try
{

//Select
CmdSelect2 = new SqlCommand("SELECT numAppart,typeAppart,montantLoyerAppart,etatAppart,numBatiment FROM APPARTEMENT WHERE numBatiment = @numBatim",MaConnect);
CmdSelect2.CommandType = System.Data.CommandType.Text;

//On crée le parametre
SqlParameter param = new SqlParameter("@numBatim",SqlDbType.Decimal);
param.Value = TxtNumBat.Text;
//
CmdSelect2.Parameters.Add(param);

//On parametre le delete
CmdDelete2 = new SqlCommand("DELETE FROM APPARTEMENT WHERE numAppart = @numAppt",MaConnect);
CmdDelete2.Parameters.Add(new SqlParameter("@numAppt",SqlDbType.Int,5,"numAppart"));
//
//On parametre l'update
CmdUpdate2 = new SqlCommand("UDATE APPARTEMENT SET numAppart = @numAppt,typeAppart = @typeAppt, montantLoyerAppart = @montantLoyerAppt,etatAppart = @etatAppt,numBatiment = @numBatim, WHERE numAppart = @numAppt",MaConnect);
//
CmdUpdate2.Parameters.Add(new SqlParameter("@typeAppt",SqlDbType.VarChar,10,"typeAppart"));
CmdUpdate2.Parameters.Add(new SqlParameter("@montantLoyerAppt",SqlDbType.Money,8,"montantLoyerAppart"));
CmdUpdate2.Parameters.Add(new SqlParameter("@etatAppt",SqlDbType.Bit,1,"etatAppart"));
CmdUpdate2.Parameters.Add(new SqlParameter("@numBatim",SqlDbType.Int,5,"numBatiment"));
CmdUpdate2.Parameters.Add(new SqlParameter("@numAppt", SqlDbType.Int,5,"numAppart"));
//
//On parametre l'insert
CmdInsert2 = new SqlCommand("INSERT INTO APPARTEMENT(numAppart,typeAppart,montantLoyerAppart,etatAppart,numBatiment) VALUES(@numAppt,@typeAppt,@montantLoyerAppt,@etatAppt,@numBatim)",MaConnect);
//
CmdUpdate2.Parameters.Add(new SqlParameter("@typeAppt",SqlDbType.VarChar,10,"typeAppart"));
CmdUpdate2.Parameters.Add(new SqlParameter("@montantLoyerAppt",SqlDbType.Money,8,"montantLoyerAppart"));
CmdUpdate2.Parameters.Add(new SqlParameter("@etatAppt",SqlDbType.Bit,1,"etatAppart"));
CmdUpdate2.Parameters.Add(new SqlParameter("@numBatim",SqlDbType.Int,5,"numBatiment"));
CmdUpdate2.Parameters.Add(new SqlParameter("@numAppt", SqlDbType.Int,5,"numAppart"));
//
//On utilise le datadapter pour remplir le dataset
//On attribue la command au selecommand
AppartDataApter = new SqlDataAdapter(CmdSelect2);
AppartDataApter.UpdateCommand = CmdUpdate2;
AppartDataApter.InsertCommand = CmdInsert2;
AppartDataApter.DeleteCommand = CmdDelete2;
//
//On vide le dataset
dsAppart.Clear();
//On rempli le dataset
AppartDataApter.Fill(dsAppart.Tables["Liste_Appartement"]);
//
//On affecte le datasource du datgrid afin de visualiser les données
DGAppar.DataSource = dsAppart.Tables["Liste_Appartement"];
CMAppart = (CurrencyManager)BindingContext[dsAppart.Tables["Liste_Appartement"]];
GpAppart.Enabled=true;
Bt_AppAj.Enabled = true;
Bt_AppSupp.Enabled = true;

}
catch(Exception xcp)
{
MessageBox.Show(xcp.Message);
}
#endregion
Update:
#region Bt_Valider_Click
private void Bt_Valider_Click(object sender, System.EventArgs e)
{
try
{
//On force la validation des modification faite dans les textbox
TxtNumBat.DataBindings["Text"].BindingManagerBase.EndCurrentEdit();
TxtLotBat.DataBindings["Text"].BindingManagerBase.EndCurrentEdit();
TxtIlotBat.DataBindings["Text"].BindingManagerBase.EndCurrentEdit();
TxtQuarBat.DataBindings["Text"].BindingManagerBase.EndCurrentEdit();
TxtComBat.DataBindings["Text"].BindingManagerBase.EndCurrentEdit();
//
//On valide les modifs faite
CMAppart.EndCurrentEdit();
//
//On charge les dataadapteurs
AppartDataApter.Update(dsAppart.Tables["Liste_Appartement"]);
BatDataApter.Update(dsBat.Tables["BATIMENT"]);
//
//On vide les dataset
dsAppart.Clear();
dsBat.Clear();
//
//On rempli les dataset
AppartDataApter.Fill(dsAppart.Tables["Liste_Appartement"]);
BatDataApter.Fill(dsBat.Tables["BATIMENT"]);
}
catch(Exception xcp)
{
MessageBox.Show(xcp.Message);
}
}
#endregion

Commentaire de Arthenius le 03/05/2007 10:37:15

heu je t'ai repondu en mp ^^

Commentaire de adfane le 19/07/2007 16:19:01

salut,
est ce que tu peux m aider stp?
je doit réalisé une application vb.net(visual studio 2005) avec sql server 2005 comme base de données.
1)je ne sais pas comment je peux definir les relations entre les table apartir de visual studio 2005.
2)est ce que tu peux me dire comment je peux créer ma base et mes tables (avec les relations) par le code vb.net?
je sais que je pause des problemes (betes) mais j ai j amais utilisé dot net et le sql server 2005.
merci d avance

Commentaire de Openflyer7 le 11/03/2009 17:06:45

Je débute en C#, super ton code !!

Merki,

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Maj bdd par datagrid?! [ par gog ] J'ai remplis un datagrid avec un dataadapter et un dataset,maintenant j'aimerais mettre à jour la bdd, mais je ne sais pas comment récupérer les donné BDD avec affichage progressif dans une datagrid [ par Guegue85 ] Bonjour à tous,J'ai une aplli en C# qui gère une BDD de 30000 enregistrements. J'ai besoin d'afficher ces 30000 enregistrements dans une DataGrid. Au Datagrid mise àjour BDD [ par patou1007 ] Bonjour,J'aimerais  savoir également comment  mettre à jour ma base de données (insert,delete,update) directement en effectua Remplir un comboBox dans un datagrid (databinding) [ par MaxWAT ] Bonjour, j'ai cherché ici et ailleurs auparavant et j'ai malheureusement pas trouvé ce que je cherchais...J'ai une datagrid qui est databind Je n'arrive pas à modifier une base de donnée sous SQL server Express 2005 à partir d'une dataset et aussi par après à partir d'une datagrid [ par mydust ] Bonjour, je souhaiterai modifier une base de donnée après avoir modifier un dataset ou un datagrid. C'est tout simple mais bon, je n'y arriv Datagrid .NET 1.1 [ par RM50Man ] Bonjour,       Est-ce que c'est possible de changer le nom d'une colonne, lorsqu'on a charger une table a l interie Mise à jour d'un datagrid [ par Pepin21 ] Bonjour,voilà mon problème : je dois faire une page en asp.net et C# qui doit permettre de faire une recherche suivant plusieurs critèr Datagrid .NET [ par RM50Man ] Bonjour, petit problème   Je supprime une ligne de mon objet dataset qui correspond au datasource de mon datagrid. Ensuite je l'en Exporter un datagrid vers excel / vers fichier txt [ par FAIZA1974 ] bonjour,je suis débutante en c#. Je programme un logiciel en c# et sql server comme base de données. Lors du clic sur un bouton, je vou MAJ de données dans liste déroulante de DataGrid [ par titi66 ] Bonjour je développe en VS2005 une appli sur une petite base Access. Dans un formulaire (F1) j'ai une datagrid sur une table et dans&nb


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,905 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales