57
GESTION DES DONNÉES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N°1133, file:///C|/Users/MSAADANI/Videos/Téléchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33] Accueil Codes Tutoriels Forum Livres Emploi Services Déconnexion CS VB, VB.NET ASP.NET,ASP C, C++ ColdFusion PHP Javascript Delphi Flash Java Graphisme Irc Assembleur C# Mobilité SQL Foxpro Python Regex Flex Windev Accueil > Tutoriels > Base de Donnees > GESTION DES DONNÉES VISUAL BASIC 2008 ET SQL SERVER CE Trouver un code source : dans Tout le site [ Dernières recherches ] GESTION DES DONNÉES VISUAL BASIC 2008 ET SQL SERVER CE Annonces Google M2M Web Database for dezentralized sites, 56k,GSM wide range PLC support www.tixi.com Dedicated Servers $49 4GB DDR3 RAM, 250GB. 7200RPM. 5 Day Money Back Guarantee. Order Now! servercraft.co WW Historian on the Road Your historian data on any device. KPIs, trends, alerts and more. transpara.com/wonderware-historian Annonces Google Gestion planning de bloc Logiciel de gestion de Planning de Bloc Opératoire www.expertiz.fr Ce site au démarrage testez_vb 0 Message

Gestion Donnees Visual Basic 2008 SQL Server 1133.Aspx

Embed Size (px)

Citation preview

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,CS VB, VB.NET ASP.NET,ASP C, C++ ColdFusion PHP Javascript Delphi Flash Java Graphisme Irc Assembleur C# Mobilit SQL Foxpro Python Regex Flex Windev

Ce site au dmarrage

Accueil

Codes

Tutoriels

ForumdansTout le site site Tout le

LivresRechercher

Emploi

Servicestestez_vb

Dconnexion0 Message

Trouver un code source :

[ Dernires recherches ]

Accueil > Tutoriels > Base de Donnees > GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CEAnnonces Google

M2M Web Databasefor dezentralized sites, 56k,GSM wide range PLC support www.tixi.com

Dedicated Servers $494GB DDR3 RAM, 250GB. 7200RPM. 5 Day Money Back Guarantee. Order Now! servercraft.co

WW Historian on the RoadYour historian data on any device. KPIs, trends, alerts and more. transpara.com/wonderware-historian

Annonces Google

Gestion planning de blocLogiciel de gestion de Planning de Bloc Opratoire www.expertiz.fr

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,

Annonces Google

Migrer FileMaker 6 en 11Eviter les nombreux piges cachs Profiter au maximum du changement editomac.fr/

Annonces Google

Migrer FileMaker 6 en 11Eviter les nombreux piges cachs Profiter au maximum du changement editomac.fr/

Annonces Google

Migrer FileMaker 6 en 11Eviter les nombreux piges cachs Profiter au maximum du changement editomac.fr/

Information sur le tutorielDpos par Mayzz le 13/06/2010 15:06:46 Dans la catgorie Base de Donnees Vu : 36 739 fois

Aucune note

Note :

Ecrire un message priv l'auteur Commentaire sur cette source (137) Ajouter un commentaire et/ou une note

Formation professionnelleEtudier en Espagne diplme europen Sant, Commerce et marketing.www cesur-maroc net/

DescriptionRpondant souvent aux questions sur le forum, je maperois que beaucoup de personnes utilisent Excel ou Access comme base de donnes locales. Cest pourquoi jai dcid de faire ce tutorial vous dmontrant comment utiliser une formule simple pour les applications de donnes locales qui nest autre que Visual Basic.Net + SQL Serveur CE.

TutorialBonjour tous,

Je vais donc vous proposer de raliser une application exemple, manipulant des donnes en locale, tapes par tapes, de la cration de la base jusquau dploiement. Cette application sera un simple formulaire de gestion des contacts.

Ce tutorial fait une cinquantaine de pages et sadresse aux novices et aux dveloppeurs ayant des bases en VB.Net. Vous en trouverez la source sur vbfrance ici.

Quallez-vous appendre en lisant ce tutorial ?

1. Crer une base de donnes SQL CE 2. Manipuler ADO.Net en Visual Basic 3. Tirer profit des nombreux outils et assistants de Visual Studio.

Annonces Google

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,4. Dployer un programme de donnes. Cette application vous montrera les grandes lignes de la gestion des donnes en ADO.Net avec une base de donnes SQL CE. 1\Introduction

Migrer FileMaker 6 en 11Eviter les nombreux piges cachs Profiter au maximum du changement editomac.fr/

Jeunes diplmsTout dabord, nous commencerons par crer un nouveau projet Winform laide de Visual Basic. Dposez votre CV en 3 minutes Et trouvez votre premier emploi ! www.Cadremploi.fr/jeune_emploi

Contrle de la classeEnseigner/surveiller les PC lves. Contrle App & Net. val. gratuite www.netsupportschool.com

Annonces Google

Petites annonces au MarocDposez votre annonce sur Bikhir.ma C'est gratuit, rapide et facile. Bikhir.ma

ISIMAN GRCLogiciel multicanal de Gouvernance, Risques et Conformit www.keyword.fr

Figure1, Concepteur Winform

Medrio EDC: 75% Less CostBuild your own study in days. See how easy Medrio makes EDC. www.Medrio.com

Hbergement Web MarocEspace d'hbergement Linux 2 Go d'espace 199 Dh/an simhebergement.com

Annonces Google

Petites annonces au MarocDposez votre annonce sur Bikhir.ma C'est gratuit, rapide et facile. Bikhir.ma Figure2, Explorateur de solutions.

ISIMAN GRCLogiciel multicanal de Gouvernance, Risques et Conformit www.keyword.fr

Comme vous pourrez le voir si vous en avez lhabitude, Visual Basic vous cre par dfaut un formulaire nomm Form1 (Fig. 1) et vous affiche celui-ci dans le concepteur (Fig. 2). Nous allons donc poursuivre en ajoutant une base de donnes locale notre projet. Pour se faire : Clic sur le menu Projet Clic sur Ajouter un nouvel lment

Medrio EDC: 75% Less CostBuild your own study in days. See how easy Medrio makes EDC. www.Medrio.com

Vous devriez voir bote de dialogue vous permettant dajouter divers lments votre projet (Fig. 3). Choisissez Base de donnes locale puis dans le champ Nom saisissez MaBaseLocale .

Hbergement Web MarocEspace d'hbergement Linux 2 Go d'espace 199 Dh/an simhebergement.com

Annonces Google

Petites annonces au MarocDposez votre annonce sur Bikhir.ma C'est gratuit, rapide et facile. Bikhir.ma

ISIMAN GRCLogiciel multicanal de Gouvernance, Risques et Conformit www.keyword.fr

Medrio EDC: 75% Less CostBuild your own study in days.

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,

See how easy Medrio makes EDC. www.Medrio.com

Hbergement Web MarocEspace d'hbergement Linux 2 Go d'espace 199 Dh/an simhebergement.com

Nos sponsorsFigure3, Ajout dun nouvel lment au projet.

Ceci fait, une bote de dialogue de configuration des bases de donnes vous proposera la cration dun DataSet fortement typ comme le montre la figure N4. Saisissez dans le champ nom du formulaire MonDataSet puis terminez lassistant.

Derniers BlogsLA CONF'SHAREPOINT EN FRANCE !par Patrick Guimonet

[ #SHAREPOINT 2010] SYNTHSE, LA GESTION [ #SHAREPOINT] RETOUR D'EXPRIENCE [ #SHAREPOINT 2010][ #SQLSERVER 2012] [ #SHAREPOINT 2010][ #SQLSERVER 2012]

La suite

RSS

ForumRE : CHANGER LE NOM D'UN BOUTON MSGBOX CHANGER LE NOM D'UN BOUTON MSGBOXpar par par par

RE : INSTALLATION XP MODE ET VIRTUAL PC

RE : CHERCHER DU TEXTE DANS UNE VARIABLE

RE : AJOUTER COLORPICKER DANS DATAGRIDVIEW

La suite

RSS

Ct ITUtiliser Office 365 pour un projet d?quipe Utiliser Office 365 pour un projet d?quipe SharePoint 2007 : Installation du Service SharePoint 2007 : Installation du Service Installation de SQL Server DENALI CTP3 Mise jour de Windows 2003 R2 versFigure4, Assistant de configuration des donnes.

Upgrade de SQL Server 2005 vers SQL Server

La suite

RSS

Offres d'emploiRecherche Dveloppeur flash as3 web et Recherche Dveloppeur WEB freelance sur Recherche Programmeur moteur, niveau Recherche Dveloppeur PHP Recherche Dveloppeur Sharepoint Recherche Recherche dveloppeur web ASP et Recherche Analyste Programmeur Adlia

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,Figure5, Explorateur de solution, Base et DataSet.

Dposer une offre

La suite RSS

Vous devriez maintenant apercevoir dans votre explorateur de solution votre base de donnes (MaBaseLocale.sdf) et votre DataSet fortement typ (MonDataSet.xsd) figure 5. Nous allons pouvoir passer ltape suivante.

Formations VideoAdobe Touch Apps pour Android et iOS Flash CS6 : Les fondamentaux 3ds Max 2013 : Les fondamentaux Premiere Pro CS6 : Les fondamentaux Joomla! 2.5 : Les fondamentaux After Effects CS6 : Les fondamentaux Nik Software : Color Efex Pro 4

2\Cration du modle de donnes.

Pour poursuivre nous allons dfinir les tables et les champs qui composeront notre base de donnes, le but tant de vous initier et non de crer un programme complexe, notre base ne comportera quune table, qui servira pour le stockage des contacts.

En tant normale, nous serions obligs dditer notre base de donnes via un utilitaire spcifique (tel que Microsoft SQL Management Studio), mais fort heureusement Visual Basic, intgre un petit diteur de bases de donnes.

La suite

RSS

Appels d'offresPour continuer, double-cliquez sur le fichier MaBaseLocale.sdf dans lexplorateur de solution (fig. 5). Vous devriez voir apparaitre lexplorateur de bases de donnes (Explorateur de serveurs sous Visual Studio) sur la gauche de lEDI comme le montre la figure N6.

site internet Budget : 400 Synchronisation de calendriers et de contacts Budget : 800 Creation d-un jeu flash bonto Budget : 10 000La suite RSS

LogicielssDEVIS-FACTURES vlPRO (8.3.1.5) 974 Application Server (12.3.3.2) DOODOO (V1.1) DocTranslate (V3.3.0.0) vPicture (1.5)

+ de logiciels tlchargerFigure 6, Explorateur de bases de donnes.

Vidos drlesHalloween Party Terry Tate Office Linebacker Superbowl 2003 Jeu vido instructif C'est un vritable vol ! Banana Song Comment attraper la grippe A Parodie Pub Window 7

Faite un clic avec le bouton droit de votre souris sur le nud Table de lexplorateur de bases de donnes, puis choisir Crer la table dans le menu qui saffiche.

La suite

RSS

Sondage...Sondage inexistant ou bien termin.Sondage fourni par ProSondage.com

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,Figure 7, Editeur de table de Visual Studio.

Dans lditeur de tables ci-dessus, saisissez dans le champ Nom le nom de notre table qui sera Contacts . En dessous, dans les champs vides, crez une nouvelle colonne en saisissant ID pour le nom de colonne et changer le type de donnes pour uniqueidentifier (qui correspond au type GUID en Visual Basic). Par la suite changez la valeur pour Oui dans la colonne Cl primaire . En dessous, dans la valeur par dfaut de notre colonne noubliez pas de saisir la valeur newid() , si vous ne savez pas encore pourquoi, vous devez peut tre vous en douter, mais nous reviendrons la dessus plus tard.

Sondage inexistant ou bien termin.Sondage fourni par ProSondage.com

Figure 8, Notre table au complet.

Statistiques1 913 564 membres 36 nouveaux aujourd'hui 16 214 membres club

Ceci fait, il vous restera crer les autres champs en respectant le modle de la figure 8. Crez tous les champs, modifiez leur type de donnes, leur longueur et nautorisez pas les valeurs nulles pour les champs nom et prenom . Vous pouvez en suite fermer cet diteur en cliquant sur le bouton OK, vous devriez normalement avoir le schma de table dmontr dans la figure 9, aprs avoir tendue les nuds de la table contacts.

Comparez les prix

Archos Tablette PC ARNOVA ARNOVA 10 4GB Entre 200 et 210 Visiter le guide achat

CalendriCodeJuilletL M M J V S

2012D 1

2 9 16 23 30

3 10 17 24 31

4 11 18 25

5 12 19 26

6 13 20 27

7 14 21 28

8 15 22 29

Consulter la suite du CalendriCode

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,

Figure 9, Schma de table.

Photothque

3\Les requtes SQL.

Le langage SQL tir de langlais Structured Query Language ou langage de requtes structurs, est un langage de programmation par entire tel que Visual Basic ou le C++ mais orient vers laccs aux donnes, qui permet dabord dmettre des requtes vers un serveur de donnes et de pouvoir en rcuprer le rsultat. Mais ce nest pas tout, il permet aussi de pouvoir stocker des procdures lintrieur de notre base pour lexcuter au moment voulu. Le langage SQL permet entre autre de travailler sur les bases de donnes du serveur, mais aussi sur le serveur lui-mme pour permettre sa configuration ou la gestion des comptes, ou le backup des bases par exemple.

Comment fonctionne laccs aux donnes :

Voici le schma classique (trs simplifi) de laccs aux donnes via ADO.net : Visiter la photothque

CS Tool Box

A dcouvrir

Cest le principe du schma client/serveur classique. Un serveur de donnes peu accueillir plusieurs client et traiter toutes leurs requte. Le serveur et les clients de donnes peuvent se trouver sur le mme ordinateur, ADO.net comporte plusieurs espaces de noms comprenant des Adapter capable de se connecter aux principaux serveurs de donnes.

Ce pendant, nous ne travaillerons pas vraiment avec ce type de serveur car pour notre application puisse quil va sagir dune base locale. Nous aurons alors un substitue de serveur, SQL Serveur Compact Edition qui permettra une sorte de simulation du serveur, bien moins puissant quun vrai serveur de donnes mais largement suffisant pour notre application locale.

Ou se situe la diffrence ?

Avec SQL CE, vous ne pouvez pas consulter une base se trouvant sur un ordinateur distant.

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,SQL CE ninclus pas de gestion de lauthentification, nimporte qui peu donc avoir accs vos bases (depuis votre poste) si vous ne les crypts pas. Il faut spcifier lemplacement de la base sur le disque dans la chaine de connexion.

Mais alors quel est lavantage ?

Alors quune installation dun serveur de donnes ncessite parfois lachat dune licence, linstallation et le paramtrage complexe de son instance, SQL CE sinstalle comme un petit composant additionnel et prend trs peu de place sur le poste client. SQL Serveur CE est conu pour les applications mobiles, Smartphone et PDA.

Voila pour ces quelques prcisions, mais je vous propose de suite den revenir nos moutons et de dcouvrir les bases du langage SQL en quatre requtes : La La La La requte requte requte requte SELECT qui permet dobtenir les donnes de notre table, en lui prcisant ou non certains paramtres de recherche. INSERT qui va permettre lajout de nouveaux enregistrements dans notre base de donnes. UPDATE pour mettre jour les enregistrements de notre base. DELETE permettant de supprimer des enregistrements.

Figure 10, DataSet Fortement typ dans lexplorateur de solution de Visual Basic.

Bien entendu, pour envoyer ces requtes notre base, ou plutt au serveur local de donnes, nous devrons saisir du code. Mais Visual studio possde comme pour lditeur de tables, dautres assistants et diteurs qui nous permettent dautomatiser cette tache. Cest le cas du DataSet fortement typ, conu pour nous facilit la tche quand la communication avec notre serveur de donnes.

Comment cela fonctionne ?

Le DataSet fortement typ va nous permettre dassocier une ou plusieurs tables de notre base avec les quatre requtes de base du langage SQL via un objet appel le TableAdapter . En gros, il permet de crer une sorte de contrle utilisateur contenant quatre mthodes en VB qui permettront la rcupration, lajout, la suppression et la modification des donnes de notre base.

Pour comprendre, rien de mieux que la pratique, je vous invite donc double-cliquez sur le DataSet fortement Typ dans votre explorateur de solution (Fig. 10), pour ouvrir celui-ci dans le concepteur de vue de Visual Basic (Fig. 11).

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,

Figure 11, DataSet Fortement typ dans le concepteur de vue.

Votre DataSet doit donc apparatre sous la forme dune fentre vide avec un fond laissant penser du papier kraft, et quelques crits en arrire plan. Effectu un clic avec le bouton droit de votre souris dans cet espace vide, puis dans le menu apparent, slectionnez Ajouter et TableAdapter .

Lassistant de configuration de TableAdaper apparaissant (Fig. 11), cliquez sur suivant en prenant le soin de vrifier que le nom de la chaine de connexion corresponde bien la base de donnes de notre projet.

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,

Figure 11, Assistant de configuration de TableAdapter.

Ltape suivant (Fig. 12) nous interroge sur la faon dont le TableAdapter devra accder notre Table. Une base SQL CE ne permettant pas dautre choix que le langage SQL via des requtes directes nous passerons donc cette tape en cliquant nouveau sur suivant.

Figure 12, Assistant de configuration de TableAdapter.

Cest partir dici que notre TableAdapter va prendre une tournure plus intressante. Lassistant nous demande de prciser quelles donnes devront tre charges dans la table, cest partir de ce code, qui devra tre une requte select, permettant la rcupration des donnes, que notre TableAdapter sera conu, ainsi quun modle de DataTable qui lui sera associ (voir Fig. 13).

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,

Figure 13, Assistant de configuration de TableAdapter Instruction SQL.

Nous pouvons ce stade, saisir notre requte SELECT, en texte brut dans le champ prsent figure N 13. Mais encore une fois, Visual Studio possde plus dune corde son arc, et nous permettra une saisie facilit grce son Gnrateur de requtes SQL . Cliquez alors sur le bouton Gnrateur de requte, pour voir apparaitre celui-ci (Fig. 14).

Figure 14, Le gnrateur de requtes SQL de Visual Studio.

Une base pouvant possder plusieurs tables, et un TableAdapter pouvant renvoyer des lignes issues des donnes de plusieurs tables, nous serons donc invits prciser quelles tables feront partie de notre requte SELECT.

Notre projet ne possdant quune Table, nous ajouterons donc celle-ci, en la slectionnant puis en lajoutant en cliquant sur les boutons respectifs.

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,

Figure 15, Le gnrateur de requtes SQL de Visual Studio Table Contacts.

Notre table slectionne, elle nous apparait donc de faon visuelle (Fig. 15), nous naurons qu cocher des cases dans la liste des colonnes disponibles depuis notre table pour que lditeur cre la requte SQL notre place, nous vitant ainsi davoir la lourde tche de la saisir par nous mme. Pour notre projet, nous aurons besoin de rcuprer tous les champs de notre table, nous cocherons donc la case astrisque * , une sorte de joker prcisant que nous souhaitons rcuprer tous les champs. Fermez le gnrateur en cliquant sur OK.

Figure 16, Assistant de configuration de TableAdapter Instruction SQL.

Nous retrouvons donc notre assistant de configuration de TableAdapter, figure 16, dont la requte a t dfinie par notre

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,gnrateur de requte. Vous pouvez maintenant passer ltape suivante.

Figure 17, Assistant de configuration de TableAdapter.

Figure 17 > Lassistant vous demande quelles types de mthodes vous souhaiter gnrer :

Remplir un DataTable, Cette mthode nest rien dautre quune routine (Sub) qui remplira une DataTable des donnes retourns par les requtes SELECT.

Retourner un DataTable, mme chose que pour la prcdente, sauf que cette fois ci, il sagit dune fonction et non dune routine, qui retourne un DataTable remplis.

Les deux mthodes ci-dessous ont exactement le mme but, elles ne diffrent que dans stratgie que vous emploierez pour coder votre application. Je vous conseille donc de toujours laisser ces deux mthodes si vous ne maitrisez pas parfaitement le concept du TableAdapter.

La troisime option est comme qui dirait, magique car elle va nous viter davoir saisir les trois autres requtes.

En effet ce stade nous avons saisis la mthode SELECT, pour rcuprer nos donnes, mais nous navons pas prciss les requtes INSERT, UPDATE et DELETE, permettant de complter les oprations ncessaires au bon fonctionnement de notre programme. Lassistant va donc dduire ces requtes daprs les champs que nous avons slectionns ltape prcdente lors de la cration de notre requte SELECT.

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,

Figure 18, Assistant de configuration de TableAdapter- Rsultat.

Si tout cest bien droul et quil ny a pas derreur dans votre requte SELECT, vous devriez avoir le mme rsultat que prsent figure 18.

Comme je lai prcis plus haut, le TableAdapter est une reprsentation Graphique des requtes SQL qui permettent de travailler avec des donnes. Il est associ une DataTable. Figure19, vous devriez apercevoir dans le concepteur de vue de votre DataSet, le TableAdapter que nous venons de crer nomm ContactsTableAdapter par dfaut, ainsi que sa Table associ sous le nom de Contacts .

Figure 19, TableAdapter et DataTable en mode design.

Pour finir cette automatisation du travail avec les donnes, il nous reste modifier certains paramtres, ce nest pas obligatoire mais cela nous rendra le travaille plus agrable. Tout lheure nous avons pu voir que les requtes INSERT, UPDATE et DELETE de notre TableAdapter ont t gnrs dynamiquement par notre assistant. Ce pendant, celui-ci ne renomme parfois pas trs bien les paramtres passer nos requtes.

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,

Figure 20, Proprits du TableAdaper.

Cliquez sur lentte de notre TableAdaper (Surlign en jaune Fig. 20) et regardez dans lditeur de proprits de Visual Basic. Nous retrouvons nos quartes mthodes SQL. Pour commencer nous allons modifier la requte DELETE. Positionnez-vous sur ltiquette CommandText de la proprit DeleteCommand de notre TableAdapter et cliquez sur le bouton parcourir (Fig. 21).

Figure 21, Proprits du TableAdaper.

Figure 22, retour au gnrateur de requte. Voila lune des fameuses requtes gnres automatiquement par lassistant. Vous pouvez voir que les paramtres prcds dun @ sont nomms P suivis dun chiffre, ce qui ne facilite pas vraiment la comprhension sous lditeur de code de Visual basic.

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,

Figure 22, Gnrateur de requtes.

Pour la facilit, je renommerais donc tous les paramtres par leurs noms, une fois modifier la requte ressemble ceci :

Nous allons maintenant procder de la mme manire pour les deux requtes restantes :

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,

Figure 23, Proprits du TableAdaper.

Figure 23, recommencez lopration pour la requte INSERT.

Figure 24, Gnrateur de requtes.

Remplacer les paramtres par leurs noms pour obtenir le code ci-dessous :

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,

Note : Vous aurez remarqu que jai intentionnellement supprim le paramtre ID, souvenez vous que lors de la construction de notre base, nous avons dfini la valeur par dfaut de cette colonne newid(), il nest donc pas ncessaire de prciser ce paramtre, le moteur de base de donnes SQL CE sen chargera pour nous.

Puis pour la requte DELETE :

Figure 25, Proprits du TableAdaper.

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,

Figure 26, Gnrateur de requtes.

En modifiant le code pour obtenir ceci :

Nous venons de terminer une tape importante, puis ce qu ce stade, notre programme est capable de :

Interroger la base de donnes. Ajouter des enregistrements dans la table Contacts de notre base. Supprimer des lignes de la table Contacts Modifier des enregistrements dans la table Contacts

Je vous rappelle que jusquici, mme si ce tutorial parait interminable (ah bon..? Pas pour vous ?!) , vous navez eu besoin de solliciter votre clavier quun nombre trs limit de fois.

4\Le code behind et linterface.

A ce stade nous naurions besoin que de saisir quelques lignes de code en VB pour rendre fonctionnelle notre Interface. Ce pendant, le but de ce tuto est aussi de dmontrer comment tirer profit de Visual basic et de ses assistants, afin de vous permettre dtre le plus productif possible.

Ce pendant, je tiens vous montrer comment manipuler les objets que nous avons prcdemment crs par code, afin que vous puissiez avoir un aperu de ce que nous allons faire via les assistants de Visual studio.

Voici comment, exploiter les quatre mthodes de notre TableAdapter par code behind.

Tout dabord, voici la procdure permettant de rcuprer les donnes de notre table contacts :

'Cration d'une instance de notre TableAdapter.

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,Dim MonTableAdapter As New MonDataSetTableAdapters.ContactsTableAdapter

'Cration d'une instance de notre table associ. Dim MaDataTable As New MonDataSet.ContactsDataTable

'Appel de la mthode GetData de notre instance de TableAdapter pour le 'remplissage de la table. MaDataTable = MonTableAdapter.GetData

Nous obtenons donc un objet MaDataTable, qui contient des lignes et des champs, avec les donnes de notre table, nous pouvons exploiter les donnes contenues par cet objet pour les afficher dans notre interface.

Pour lajout de nouveaux enregistrements :

'Cration d'une instance de notre TableAdapter. Dim MonTableAdapter As New MonDataSetTableAdapters.ContactsTableAdapter

'Appel de la mthode Insert de notre TableAdapter en passant en paramtres 'toutes les donnes insrer. MonTableAdapter.Insert("DUPONT", _ "Jean", _ 25, _ "2 Rue du pr", _ "75000", _ "Paris", _ "France", _ "01 32 00 00 00", _ "", _ "", _ "[email protected]", _ "")

Note : Tout lheure, nous avons modifis les requtes gnres automatiquement par Visual studio, dans la capture cidessous, vous pouvez voir que cela savre trs utile car dans linfo bulle qui daffiche lors de la saisie de notre procdure, ce sont bien les noms des champs que nous avons et non des champs nomms p1, p2, p3

Poursuivons avec la mthode Update, ici, nous repassons linstance notre TableAdapter pour quil mette jour notre table dans la base, nous supposons que celle-ci a t modifi entre temps. Mais la mthode Update gnre automatiquement prsente lavantage davoir plusieurs surcharges, ainsi nous pouvons lui passer en rfrence, linstance de notre table, mais galement un DataSet ou simplement une ligne de table. Elle permet galement de dfinir les champs manuellement tels que le fait la mthode Insert ci-dessus.

'Cration d'une instance de notre TableAdapter. Dim MonTableAdapter As New MonDataSetTableAdapters.ContactsTableAdapter

'Appel de la mthode Insert de notre TableAdapter en passant en paramtre toutes les donnes insrer. MonTableAdapter.Update(MaDataTable)

Pour finir regardons du cot de la mthode Delete, ici, le seule paramtre que nous devrons passer en rfrence est lID de la ligne supprimer.

'Cration d'une instance de notre TableAdapter.

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,Dim MonTableAdapter As New MonDataSetTableAdapters.ContactsTableAdapter 'Appel de la mthode Insert de notre TableAdapter en passant en paramtre 'toutes les donnes insrer. MonTableAdapter.Delete(ID)

Voila le rsum en quelques lignes de code, de la manipulation dune table aprs avoir configur notre DataSet correctement.

Mais passons donc la construction de notre interface graphique.

Commencez par ajouter un composant BindingNavigator

Figure 27.

Renommez celui-ci : Navigator

Puis ajoutez un SplitContainer :

Figure 28.

Dans la partie gauche du SplitContainer, placez-y un DataGridView.

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,

Figure 29.

Renommez celui-ci DGV , puis ancrez le dans le conteneur parent. Dfinissez sa proprit MultiSelect sur False et sa proprit SelectionMode sur FullRowSelect .

Placez en suite dans la partie gauche du SplitContainer, un GroupBox

Figure 30.

Modifiez la proprit Text de celui-ci pour Proprits du contact . Puis dfinissez la proprit Anchor au quatre cots Top, Left, Right, Bottom.

Placez dans ce GroupBox, un contrle Panel

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,

Figure 31.

Et dfinissez sa proprit Dock sur Fill, Sa proprit AutoScroll sur True ainsi que sa proprit AutoScrollMagin Sur (5 ; 5).

Pour le reste, ajoutez des contrles TextBox pour chaque champ de notre table contact, except pour le champ Age ou vous dessinerez un NumericUpDown et le champ ID ou vous ne mettrez rien. Pour chaque contrle TextBox vous modifierez les proprits suivantes :

MaxLength : mettez la valeur de la longueur du champ correspondant (ex : 255 pour nom), pour le NumericUpDown mettez sur 150 la proprit Max. Mutliligne : Mettez sur True pour commentaire et Adresse. Nom, renommez les contrles avec le prfix txt_ suivis du nom du champ et nud_ pour le NumericUpDown (ex : txt_Nom ).

Crez des tiquettes avec des labels et vous devriez avoir un design ressemblant ceci :

Figure 32.

Placez galement sur votre formulaire un ErrorProvider que vous nommerez EP

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,Notre interface prte nous allons commencer la faire interagir avec notre DataSet.

Nous allons nous occuper dans un premier temps du DataGridView. Cliquez sur le DataGridView pour ouvrir son smart Tag (petite flche en haut droite). Puis droul la liste de choix de source de donnes, dveloppez les sources de donnes du projet jusqu arriver notre table Contacts . Slectionnez celle-ci.

Figure 33.

Ceci fait, le DataGridView gnre automatiquement des colonnes, vous pouvez aussi voir que des contrles sont apparus en bas de votre formulaire (A cot du BindingNavigator et de lErrorProvider) ce sont les instances de nos composant crs laide de notre DataSet fortement typ.

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,Figure 34.

Dcochez les cases du smart tag permettant lajout, la modification et la suppression de donnes, et activez celle permettant la rorganisation des colonnes si vous le souhaitez. Cliquez en suite sur le lien Modifier les colonnes , nous allons supprimer certaines colonnes dont laffichage ne servira pas vraiment.

Supprimez toutes les colonnes sauf : ID Nom Prenom Ville Dfinissez la proprit Visible de la colonne ID sur False , nous ne supprimerons pas cette colonne car nous aurons besoin de cette information, ce pendant il est inutile dafficher celle-ci lcran, car elle doit tre transparente pour lutilisateur. Vous devriez donc avoir le schma de colonne suivant :

Figure 35.

Que venons-nous de faire ?

Je vous ai dmontr plus haut, que lappel des mthodes de notre TableAdapter se fait en quelques lignes de code, celle-ci doivent dabord passer par ltape de linstanciation de notre TableAdapter, souvenez-vous :

'Cration d'une instance de notre TableAdapter. Dim MonTableAdapter As New MonDataSetTableAdapters.ContactsTableAdapter

En prcisant la source de donnes notre DataGridView, celui-ci gnr un composant sur le formulaire, qui nest autre quune instance de notre TableAdapter ContactsTableAdapter , cette instance porte le mme nom :

Figure 36.

Elle correspond en fait, la ligne de code que nous aurions du saisir :

Dim ContactsTableAdapter As New MonDataSetTableAdapters.ContactsTableAdapter

Il en va de mme pour linstance de notre Table,

'Cration d'une instance de notre table associ.

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,Dim MaDataTable As New MonDataSet.ContactsDataTable

Celle-ci apparait aussi en tant que contrle figure 36. Cette instance de notre table est donc relie la proprit DataSource de notre contrle DataGridView. Chaque fois que cette DataTable sera modifi, le contenu de note DataGridView le sera galement. Et si nous regardons de plus prs ce qui se passe dans le code behind de notre formulaire, nous pouvons voir ceci :

Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load 'TODO : cette ligne de code charge les donnes dans la table 'MonDataSet.Contacts'. Vous pouvez la dplacer ou la supprimer selon vos besoins. Me.ContactsTableAdapter.Fill(Me.MonDataSet.Contacts) End Sub End Class

LEDI a cr une ligne de code permettant le remplissage de notre table au moment du chargement de notre formulaire. Que va-t-il donc se passer ?

Lors du chargement, ContactsTableAdapter va excuter notre requte SELECT et remplir notre instance de DataTable Contacts, celle-ci tant reli au DataGridView, lui signalera que son contenu vient de changer et il se mettra jour automatiquement. Pour rsumer, nous aurons donc laffichage de tous les contacts de notre table au chargement de lapplication.

Bien entendu, ce que nous venons de faire par assistant, nous pouvons aussi le faire par code, nous aurions du alors saisir nous mme dans notre formulaire :

Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load 'Cration d'une instance de notre TableAdapter. Dim MonTableAdapter As New MonDataSetTableAdapters.ContactsTableAdapter 'Cration d'une instance de notre table associ. Dim MaDataTable As New MonDataSet.ContactsDataTable 'Appel de la mthode GetData de notre instance de TableAdapter pour le 'remplissage de la table. MaDataTable = MonTableAdapter.GetData 'Association de la DataTable et du DataGridView DGV.DataSource = MaDataTable End Sub End Class

Jespre quarriver ici, vous avez russi saisir le concept, jessaye dtre le plus claire possible, bien que ce ne soit pas vident.

Reprenons notre figure 36, en la regardant attentivement, on peut y voir un autre contrle, de type BindingSource, ce contrle est nomm ContactBindingSource . Il a galement t gnr au passage, mais quoi sert-il ?

Un BindingSource est un contrle servant dintermdiaire entre une source de donnes (Tel quune DataTable) et un ou plusieurs contrles de donnes. Il permet synchroniser la navigation entre les contrles au sein de cette source de donnes mais plus encore, il permet dappliquer un filtre pour la recherche dans une table sans avoir renvoyer une requte au serveur, ce qui permet un filtrage rapide.

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,

En rsum, lors ce que lon dfinir une liaison au donnes dun composant de donnes en Visual basic :

Une instance de TableAdapter es t cre en tant que contrle visuel. Une instance de DataTable es t cre en tant que contrle visuel. Une instance de BindingSource est cre en tant que contrle visuel. Le TableAdapter rempli le DataTable au dmarrage. Le BindingSource a pour source de donnes ce DataTable. Et enfin le contrle a pour source de donnes le BindingSource.

Si des instances de BindingSource, TableAdapter, et DataTable sont dj crs, vous pourrez directement choisir ceux-ci.

La gestion de notre DataGridView tant termine, nous passerons maintenant la gestion de nos contrles de droites, les champs prsents dans le Panel. De mme que pour notre DataGridView, nous allons lier ces champs notre source de donnes.

Je vous invite donc cliquer sur le premier lment de ce panel qui nest autre que le TextBox txt_Nom .

Figure 37.

Dvelopper la proprit DataBindings du contrle, positionnez-vous sur (Avances) puis cliquez sur le bouton parcourir

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,

Figure 38 Liaison de contrles aux donnes.

Dans le champ Liaison , recherchez le champ Nom de notre ContactBindingSource et slectionnez celui-ci, positionnez le champ Mode de mise jour de la source de donnes sur Never . En effet, nous mettrons la source de donnes jour par code, lors ce que nous cliquerons sur un bouton pour enregistrer le contact et non lors du changement dans un champ.

Figure 39 Liaison de contrles aux donnes.

Vous devez recommencer lopration pour tous les contrles prsents dans notre Panel, en prenant soin de slectionner le champ correspondant.

Que venons-nous de faire ?

Nous avons pu voir que le contrle BindingSource est en fait une source de donnes tenant lui-mme sa source dune autre source de donnes. Il est un intermdiaire. En liant nos contrles ce BindingSource, les champs se rempliront

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,automatiquement, chaque fois que la ligne slectionne dans le DataGridView changera.

Nous allons passer la dernire tape. Cette tape permettra de finaliser notre programme, de le rendre fonctionnel. Pour commencer nous allons dfinir la proprit BindingSource de notre contrle ContactBindingSource ce qui rendra fonctionnel la navigation dans notre source de donnes. Navigator sur

Figure 40 Proprits de Navigator .

Puis nous allons finaliser notre interface en supprimer les deux boutons par dfaut crs par notre BindingNavigator, pour les remplacer par 3 nouveaux dont les noms seront respectivement btn_Save , btn_Del et btn_New , vous pouvez dfinir la proprit DisplayStyle sur ImageAndText et saisir les tiquettes des bouton puis leur ajouter des icnes comme je lai fais figure 42.

Figure 41 Suppression des boutons par dfaut du BindingNavigator.

Figure 42 Ajout de nouveaux boutons.

Dfinissez la proprit Enabled des contrles btn_Save et btn_Del sur False (Fig. 42). Ajoutez un sparateur, un TextBox et ComboBox, nomms txt_SearchArgs et cbo_Filter et deux labels servant dtiquettes afin de dfinir un champ de recherche voir figure 43 ci-dessous.

Figure 43 Champ de recherche.

Dfinissez la proprit DropDownStyle du ComboBox sur DropDownList , et remplissez sa proprit Items par les lments suivants :

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,

Figure 44 lments du ComboBox.

Vous laurez compris, il sagit des champs de notre table, pour lesquels nous allons appliquer un filtre de recherche.

Le reste de notre application, se droulera dans la partie code behind de notre formulaire. Ouvrez le code behind de celui-ci, vous devriez avoir le code ci-dessous.

Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load 'TODO : cette ligne de code charge les donnes dans la table 'MonDataSet.Contacts'. Vous pouvez la dplacer ou la supprimer selon vos besoins. Me.ContactsTableAdapter.Fill(Me.MonDataSet.Contacts) End Sub End Class Nous allons quelque peu modifier le code gnr par lEDI afin de pouvoir faciliter lappel de celui-ci dans dautres procdures que celle du chargement de notre formulaire.

'Procdure "Load" de notre formulaire qui se dclanche au chargement de celui-ci. Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load ' cbo_Filter.SelectedIndex = 0 Call RefreshDataSource() ' End Sub ' 'Procdure prive permettant le remplissage de notre source de donnes 'avec les lments contenus dans notre base. Private Sub RefreshDataSource() ' 'Remplissage de l'instance de notre DataTable "Contacts" par l'instance 'de Notre TableAdapter "ContactTableAdapter". 'Celui-ci excute la requte SELECT pour remplir notre table des donnes 'que contient notre base physique "MaBaseLoacle.sdf". Me.ContactsTableAdapter.Fill(Me.MonDataSet.Contacts) ' End Sub

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,

Pour viter les erreurs potentielles, nous allons mettre jour ltat de nos boutons du Navigator , lors de la mise jour de notre DataGridView.

'Procdure "DataBindingComplete" qui se dclanche une fois le DataGridView mis jour. Private Sub DGV_DataBindingComplete(ByVal sender As Object, _ ByVal e As System.Windows.Forms.DataGridViewBindingCompleteEventArgs) _ Handles DGV.DataBindingComplete ' 'Mise jour de l'tat des contrles pour viter les erreurs d'enregistrement 'et de suppression si le DataGridView ne contient aucune ligne. btn_Del.Enabled = (DGV.RowCount 0) btn_Save.Enabled = (DGV.RowCount 0) ' End Sub

Puis interviendra le code de nos boutons, permettant dajouter, de modifier ou de supprimer des contacts dans notre table tout en prenant soin de prvenir des erreurs ventuelles.

'Procdure "Click" de notre bouton de sauvegarde des contacts. Private Sub btn_Save_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btn_Save.Click ' 'Gestion des erreurs de saisie ' Dim HasError As Boolean = False EP.Clear() ' If txt_Nom.Text.Length = 0 Then EP.SetError(txt_Nom, "Le champ ""Nom"" ne peut tre vide !") HasError = True End If ' If txt_Prenom.Text.Length = 0 Then EP.SetError(txt_Prenom, "Le champ ""Prnom"" ne peut tre vide !") HasError = True End If ' If HasError Then Exit Sub End If ' REM: nous pourrions aller plus loin dans cette gestion des erreur REM: avec l'ajout d'expressions rgilres (RegEx) REM: pour contrler les champs tel que l'email ou le code postal, REM: mais ce n'est pas le but de ce tutoriel. ' 'Rcupration de la valeur de la colonne 0 de la premire ligne 'slectionn dans notre DGV. Dim ID As Guid = CType(DGV.SelectedRows(0).Cells(0).Value, Guid) ' Try ' 'Appel de la procdure Update de notre TableAdapter qui tranmettra

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,'la requte SQL UPDATE. Dim NbLine As Integer = ContactsTableAdapter.Update(txt_Nom.Text, _ txt_Prenom.Text, _ CShort(nud_Age.Value), _ txt_Adresse.Text, _ txt_CP.Text, _ txt_Ville.Text, _ txt_Pays.Text, _ txt_Tel.Text, _ txt_Mobile.Text, _ txt_Fax.Text, _ txt_Email.Text, _ txt_Commentaire.Text, _ ID) REM: Cette procdure retourne un entier indiquant le nombre de lignes modifis. ' If NbLine > 0 Then ' MessageBox.Show("Le contact a bien t mis" & _ " jour dans la base de donnes.", _ "Mise jour du contact", _ MessageBoxButtons.OK, _ MessageBoxIcon.Information) 'La modification effectue nous actualisons les donnes de notre source 'de donnes en effectuant une requte 'SELECT de nouveau. Call RefreshDataSource() End If ' Catch ex As Exception ' MessageBox.Show("Une erreur est survenue durant l'accs" & _ " la base de donnes." & Environment.NewLine & _ "Dtails de l'erreur: " & ex.Message, _ "Echec de l'accs aux donnes.", _ MessageBoxButtons.OK, _ MessageBoxIcon.Exclamation) ' End Try ' End Sub

'Procdure "Click" de notre bouton de suppression des contacts. Private Sub btn_Del_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btn_Del.Click ' 'Validation de la demande de suppression Dim result As DialogResult = MessageBox.Show("Voulez-vous vraiment supprimer ce" & _ " contact ?", _ "Suppression dfinitive ?", _ MessageBoxButtons.YesNo, _ MessageBoxIcon.Question) ' 'Si la rponse est autre que Oui, alors on quitte la procdure

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,If result Windows.Forms.DialogResult.Yes Then Exit Sub End If ' 'Rcupration de la valeur de la colonne 0 de la premire ligne 'slectionn dans notre DGV. Dim ID As Guid = CType(DGV.SelectedRows(0).Cells(0).Value, Guid) REM: Cette procdure retourne un entier indiquant le nombre de lignes modifis. ' Try ' 'Appel de la procdure DELETE, de notre TableAdapter qui transmettra la 'requte SQL DELETE. Dim NbLine As Integer = ContactsTableAdapter.Delete(ID) REM: Cette procdure retourne un entier indiquant le nombre de lignes modifis. ' If NbLine > 0 Then ' MessageBox.Show("Le contact a bien t supprim de la base de donnes.", _ "Suppression du contact", _ MessageBoxButtons.OK, _ MessageBoxIcon.Information) 'La suppression effectue nous actualisons les donnes de notre source 'de donnes en effectuant une requte SELECT de nouveau. Call RefreshDataSource() End If ' Catch ex As Exception ' MessageBox.Show("Une erreur est survenue durant l'accs la base de donnes." & _ Environment.NewLine & _ "Dtails de l'erreur: " & ex.Message, _ "Echec de l'accs aux donnes.", _ MessageBoxButtons.OK, _ MessageBoxIcon.Exclamation) ' End Try ' End Sub

'Procdure "Click" de notre bouon d'ajout de contacts. Private Sub btn_New_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btn_New.Click ' 'Gestion des erreurs de saisie ' Dim HasError As Boolean = False EP.Clear() ' If txt_Nom.Text.Length = 0 Then EP.SetError(txt_Nom, "Le champ ""Nom"" ne peut tre vide !") HasError = True End If

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,' If txt_Prenom.Text.Length = 0 Then EP.SetError(txt_Prenom, "Le champ ""Prnom"" ne peut tre vide !") HasError = True End If ' If HasError Then Exit Sub End If ' REM: nous pourrions aller plus loin dans cette gestion des erreur avec REM: l'ajout d'expressions rgilres (RegEx) REM: pour contrler les champs tel que l'email ou le code postal, REM: mais ce n'est pas le but de ce tutoriel. ' Try ' 'Appel de la procdure Insert de notre TableAdapter, 'qui transmettra la requte SQL INSERT. Dim NbLine As Integer = ContactsTableAdapter.Insert(txt_Nom.Text, _ txt_Prenom.Text, _ CShort(nud_Age.Value), _ txt_Adresse.Text, _ txt_CP.Text, _ txt_Ville.Text, _ txt_Pays.Text, _ txt_Tel.Text, _ txt_Mobile.Text, _ txt_Fax.Text, _ txt_Email.Text, _ txt_Commentaire.Text) REM: Cette procdure retourne un entier indiquant le nombre de lignes modifis. ' If NbLine > 0 Then ' MessageBox.Show("Le contact a bien t ajout la base de donnes.", _ "Ajout du contact", _ MessageBoxButtons.OK, _ MessageBoxIcon.Information) ' 'L'ajout effectu nous actualisons les donnes de notre source 'de donnes en effectuant une requte SELECT de nouveau. Call RefreshDataSource() ' End If ' Catch ex As Exception ' MessageBox.Show("Une erreur est survenue durant l'accs la base de donnes." & _ Environment.NewLine & _ "Dtails de l'erreur: " & ex.Message, _ "Echec de l'accs aux donnes.", _ MessageBoxButtons.OK, _ MessageBoxIcon.Exclamation) '

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,End Try End Sub

Jusquici, notre programme est entirement fonctionnel quant laccs aux donnes, ce quil nous reste faire cest de saisir le code qui permettra au moteur de recherche de fonctionner. Ce code doit agir lors ce que lon saisit du texte dans notre champ de recherche, ou lors ce que lon dtermine quel champ va-t-tre la cible de notre recherche. 'Procdure prive, se dclanchant lors des vnements "TextChanged" de notre contrle '"txt_SearchArgs" et "SelectedIndexChanged" de notre contrle "cbo_Filter" Private Sub Filter_Change() Handles txt_SearchArgs.TextChanged, _ cbo_Filter.SelectedIndexChanged ' 'Nous allons changer la proprit "Filter" de notre BindingSource Dim FilterArgs As String = cbo_Filter.Text & " LIKE '" & txt_SearchArgs.Text & "%'" ' REM: la proprit "Filter" du BindingSource fonctionne comme REM: une clause "WHERE" en SQL. Nous utilisons la clause "LIKE" REM : et le joker "%" pour prciser que le champ commence par le texte REM: saisi dans le TextBox "txt_SearchArgs. ' 'Application du filtre ContactsBindingSource.Filter = FilterArgs ' End Sub

Et voila, notre programme est entirement fonctionnel et prt tre distribuer.

5\Dploiement de notre projet.

Nous allons voir dans ce chapitre (eh oui, je parle maintenant de chapitre car je ne pensais pas avoir autant de pages crire pour un si petit projet) comment dployer notre application afin de pouvoir linstaller sur une plateforme autre que celle dont nous nous servons pour le dveloppement.

Je vais donc vous inviter ouvrir les proprits de notre projet en double cliquant sur licne MyProject dans lexplorateur de solutions de Visual Basic.

Figure 45 Explorateur de solutions.

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,

Figure 46 Proprits du projet, onglet Publier .

Allez longlet Publier comme le montre la figure 46, puis cliquez sur le bouton Composants requis

Figure 47 Composants redistribuables.

Vrifiez que le composant redistribuable SQL Server Compact 3.5 soit coch puis fermez cette fentre et les proprits de votre projet. Toujours dans lexplorateur de solution, faites un clic avec le bouton droit de votre souris sur licne de votre projet (ici MyLocalDataApp) et slectionnez Publier dans le menu qui saffiche.

Suivez les tapes des figures suivantes, en laissant par dfaut tous les paramtres.

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,

Figure 48 Emplacement de la publication.

Figure 49 Mode de publication.

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,

Figure 50 Options de mise jour.

Figure 51 Rcapitulatif avant publication.

6\Conclusion.

Vous savez maintenant avec quelle facilit il est possible de raliser des applications de donnes en .Net via Visual Studio, ce tutorial est assez long car jai tenu rentrer dans les dtails au maximum, mais pour quelquun qui maitrise les outils de Visual Studio, il ne faudra pas plus dune dizaine de minutes pour venir bout dune application comme celle-ci.

Nous avons travaills avec des donnes en locale, mais les outils dont je vous ai fait la dmonstration fonctionnent aussi pour la gestion des donnes en gnrale, il est donc possible demployer ces mthode pour un logiciel de base de donnes traitant avec un autre SGBD, quil soit locale ou distant (Base Access, Excel, SQL Serveur, MySQL, Oracle...).

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,

Voila, ce tutorial touche sa fin, en esprant que jaurais t assez claire pour permettre den apprendre plus sur la gestion des donnes en Visual Basic.

Mayzz.

Historique13 juin 2010 20:40:46 : - Correction d'ortaugrafe ;O) - Mise jour d'lments (Graphiques) non pris en charges (Captures). 13 juin 2010 21:47:56 : Mise jour des schmas 13 dcembre 2010 16:31:12 : Brve correction 13 dcembre 2010 16:33:34 : idem 13 dcembre 2010 16:38:02 : Re-upload suite plantage

CommentairesCOMMENTAIREDE

ADN56

LE

14/06/2010 07:39:48

Alors l respect ! Je ne pensais pas que tu aurais eu le courage de le mettre par cris ! Bravo pour le taff, et merci bien l'ami.

COMMENTAIRE

DE

MAYZZ

LE

14/06/2010 13:54:03

Ben je dois avouer que l'autre jour ca m'a motiv pour mettre tout ca par crit ;O)

COMMENTAIRE

DE

MAYZZ

LE

14/06/2010 13:56:09

Par contre j'ai un petit souci au niveau du rendu du code, j'aurais pu faire des capture, mais celui qui voudrais copier/coller le code serait obliger de tlcharger la source... pas top Faut que je trouve une soluce.

COMMENTAIRE

DE

ADN56

LE

14/06/2010 17:45:50

Je trouve le rendu du code pas mal du tout, quesque tu lui reproche ?

COMMENTAIRE

DE

MAYZZ

LE

14/06/2010 20:17:53

bah c'est pas comme sur le docx originale, interligne trop espac et le retrait n'est pas maintenu donc question lisibilit du code c'est franchement pas terrible.

COMMENTAIRE

DE KEVINGOUBE01 LE

15/06/2010 16:19:03

ADN56 ton code est vraiment intressant, cela apporte beaucoup de facilit pour interagir avec une base de donnes. Nanmoins j'ai une question, qu'est-ce que le "EP" dans le code du btn_save.click exemple : EP.SetError(txt_Nom, "Le champ ""Nom"" ne peut tre vide !") Peut-tu m'expliquer cela et me dire s'il faut que je dclare EP et si oui o je doit le dclarer ?? Je te Remercie d'avance ! COMMENTAIREDE

MAYZZ

LE

15/06/2010 16:34:24

Tout est expliqu dans le tuto, il suffit de lire... "Placez galement sur votre formulaire un ErrorProvider que vous nommerez EP " C'est un composant Winform qu'il faut ajouter au formulaire (cf: la source). COMMENTAIREDE

MAYZZ

LE

16/06/2010 00:37:05

Merci vous deux pour les compliments, ca fait toujours plaisir de voir qu'aprs 2h30 pass faire un tuto, il y a des gens qui le lisent et en tirent profit.

COMMENTAIRE

DE KEVINGOUBE01 LE

17/06/2010 14:31:28

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,Salut, J'ai une erreur sur une ligne du code que j'ai chop dans ce tuto et je n'arrive pas rsoudre cette erreur, je vous est mit l'erreur en dessous du code. Code : Private Sub Filter_Change() Handles txt_SearchArgs.TextChanged 'Nous allons changer la proprit "Filter" de notre BindingSource Dim FilterArgs As String = cbo_filter.Text & " LIKE '" & txt_SearchArgs.Text & "%'" REM: la proprit "Filter" du BindingSource fonctionne comme REM: une clause "WHERE" en SQL. Nous utilisons la clause "LIKE" REM : et le joker "%" pour prciser que le champ commence par le texte REM: saisi dans le TextBox "txt_SearchArgs. 'Application du filtre CandidatBindingSource.Filter = FilterArgs 'erreur sur cette ligne vous trouverez l'erreur plus bas

End Sub Erreur : La rfrence d'objet n'est pas dfinie une instance d'un objet. Je vous remercie d'avance !! COMMENTAIREDE

MAYZZ

LE

17/06/2010 15:09:53

Salut, As-tu suivi le tuto au complet ? "La rfrence d'objet n'est pas dfinie une instance d'un objet." C'est un erreur VB6 Ca ? En .Net on parle de NullReferenceExecption. COMMENTAIREDE KEVINGOUBE01 LE

17/06/2010 15:15:58

J'ai une autre question pour toi je suis dsol de te dranger mais je voulez savoir s'il y avez un autres moyens pour faire une requete que : "Me.CandidatTableAdapter.Fill(Me.MyDataSet.Candidat)" Juste pour savoir car cela m'arrangerai beaucoup et vu que je connais pas trop ce systme je m'en rfr toi qui l'air assez cal sur ce sujet. Merci d'avance et encore dsol pour toutes ces questions. COMMENTAIREDE KEVINGOUBE01 LE

17/06/2010 15:18:24

Non ce n'est pas du VB6 je dveloppe mon appli sous visual studio 2010 et c'est bien du vb.net

COMMENTAIRE

DE

MAYZZ

LE

17/06/2010 15:28:31

Quote : J'ai une autre question pour toi je suis dsol de te dranger mais je voulez savoir s'il y avez un autres moyens pour faire une requete que : "Me.CandidatTableAdapter.Fill(Me.MyDataSet.Candidat)" Tu ne me drange pas mais si j'ai fais un tuto avec une source c'est justement pour que les gens puissent apprendre par eux-mme, sans l'aide de personne, si tu lis ce tuto corectement, tu en comprendra le fonctionnement et tu pourras rpondre toi mme tes questions. Pour ce qui est de ta question je ne la comprend pas ? Que reproche-tu as la mthode Fill ? Tu veux dire que tu souhaiterais faire une requte SQL Perso ? Bien oui c'est possible, dans la section ou j'explique comment remplir la requte SELECT via l'assistant, tu n'as alors qu' saisir ta propre requte SQL et ta mthode fill agira en fonction (et te demandera les ventuels paramtres). COMMENTAIREDE KEVINGOUBE01 LE

17/06/2010 15:53:13

ouais j'en ai cre quelques unes mais lorsque je veux assign des valeurs prise de mon interface grce des variables les requetes marche une fois sur deux ^^ je vais retent je te tiens au courant merci.

COMMENTAIRE

DE

MAYZZ

LE

17/06/2010 15:59:18

Ce n'est pas vraiment le bon endroit pour demander de l'aide, au pire des cas ouvre un thread sur le forum, expose clairement ton problme et poste ta requte et ton code. Tu peux en suite me filer le lien en MP je verrais si je peux faire quelque chose.

COMMENTAIRE

DE NIBLON LE

18/06/2010 12:00:37

Bonjour a tous. Tres bon tuto suivi 9/10 :) (a cause d'une phrase: placer a gauche un container ? pas plustot a droite lol )je l'ai suivi a la lettre et me voila avec ma premiere application avec base de donnee local fonctionnel :) j'ai repris le tuto pour commencer mon application sur les Cactus . Encore merci pour ce tuto , tres bien fais.

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,Niblon COMMENTAIREDE

MAYZZ

LE

18/06/2010 13:25:21

'Placez en suite dans la partie gauche du SplitContainer, un GroupBox' En effet merci de me l'avoir fait remarqu, ca peut tre perturbant pour un dbutant. Je ferais bientt une mise jour de ce tuto, je dois m'occuper de l'autre pour le moment, car ADN s'est gentiment propos de me faire la correction d'orthographe, ce qui n'est pas du luxe pour moi ;) COMMENTAIREDE NIBLON LE

18/06/2010 15:30:49

Pour un debutant quand moi oui :) j'ai bien reflechi 5 min quand meme Mdr :)

COMMENTAIRE

DE

SHAEGAL

LE

28/06/2010 15:17:22

Bonjour, Bravo pour ce tuto qui m'a, il faut bien le dire, enfin fait comprendre la philosophie des BDD. Avec un peu d'entranement, je devrais pouvoir peut-tre me lancer dans des BDD plus complexes. Vivement la suite... COMMENTAIREDE LAKUM LE

05/07/2010 18:22:56

bonjour, je voudrai savoir aprs le logiciel de gestion des donnes, comment tu pour l'installer. merci pour ton tutos tu a t trs clair

COMMENTAIRE

DE

MAYZZ

LE

05/07/2010 18:57:23

L'application d'installation se trouve dans le dossier BIN\Release du projet setup. Voila @+

COMMENTAIRE

DE LAKUM LE

07/07/2010 20:40:40

je te remercie de m'avoir rpondu mais j'ai pas release du projet setup dans mon dossier bin et il n'y est pas non plus dans ton zip que j'ai tlcharg.je suis embt car je veux utiliser mon projet pour mon stage dans le but de cr une gestion des stocks et il me reste plus que 3 semaine alors si tu peux me donner encore un peu de ton savoir faire je t'en serai reconnaissant. COMMENTAIRE MAYZZ 07/07/2010 21:06:21

DE

LE

En effet, il n'y a pas de projet setup c'est un dploiement clickonce, dsol de t'avoir induit en erreur (l'habitude de travailler sous VS pro). Le projet setup se trouve dans le rpertoire publish du projet. Voila des infos sur clickonce ici => http://morpheus.developpez.com/clickonce/ COMMENTAIRE 08/07/2010 19:46:58

DE LAKUM LE

c'est bon j'ai trouv le dploiement dans ton zip mais je ne l'ai pas dans mon projet, en fait quand j'ai fini ma gestion des donnes la dernire fois j'avais 7 erreurs donc c'est peut tre pour a que j'ai pas tous le dploiement comme toi et je n'arrive pas les rsoudre. en tous cas merci toi de me rpondre, j'avance petit petit. COMMENTAIRE AMAROK02 15/07/2010 10:21:41

DE

LE

Merci. COMMENTAIRE

Merci pour ce tuto trs complet et trs pdagogique. Nanmoins j'aurais une question complmentaire pour aller un petit peu plus loin dans la gestion des BDD. Comment faire pour ne pas craser la BDD installe sur un poste utilisateur en cas de mise jour et notamment pour prendre en compte les modifications ventuelles de structure de BDD ? En effet j'ai pu sans problme par exemple supprimer l'age pour le remplacer par la date de naissance mais lorsque j'ai dploy mon appli la base que j'avais saisie sur avec l'application dploye a t vide.DE

MAYZZ

LE

15/07/2010 15:21:28

C'est tout fait normal et logique. Les projets setup sont l pour l'installation de fichiers, ils copient, un point c'est tout. Ils ne se soucient pas du type de fichier. Dans ton ca, il te faut dvelopper un projet qui sera charg de la mise jour de l'application. Tu rcupres les anciens enregistrements de ta table, puis tu lances le setup de ton projet (ou encore un simple programme faisant la copie exe + nouvelle base) et en fin tu insres les enregistrements dans la nouvelle table. Il n'existe aucune mthode automatis sous VS. COMMENTAIREDE

AMAROK02

LE

16/07/2010 09:08:40

Bonjour, Merci pour ta rponse, mme si je ne vois pas pour l'instant comment m'y prendre concrtement a me donne une piste de rflexion.

COMMENTAIRE

DE

ADN56

LE

16/07/2010 12:47:11

et bien en gros, tu charges dans ton nouveau soft la vieille BDD et tu la rcris dans le nouveau format ;)

COMMENTAIRE

DE SABYR LE

08/08/2010 04:06:02

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,merci pour ce tuto

COMMENTAIRE

DE SABYR LE

09/08/2010 17:19:12

juste concernant le code je sais pas l'tape o je vais le taper

COMMENTAIRE

DE SABYR LE

09/08/2010 17:21:49

merci d'avance

COMMENTAIRE

DE

MAYZZ

LE

09/08/2010 17:32:58

End Sub 'juste concernant le code je sais pas l'tape o je vais le taper Le code est saisir dans le formulaire 'Form1' entre le dbut et la fin de classe. Et je rajoute que si tu ne sais pas o est le dbut et la fin de la classe form1, il faut essayer un autre tuto avant celui l ! cordialement Ps : les modos vous voulez pas me filer les droits pour faire le mnage sur ce tuto MDR ^^, n'ont plutt Mayzz il plus sage que moi :D (qui m'a coiff au poteau en plus, niveau rponse) COMMENTAIREDE

MAYZZ

LE

09/08/2010 17:54:57

Bon, ce tuto n'est pas destin aux ptissiers, aux boulangers aux bouchers, aux facteurs, aux maons... Il est destin aux dveloppeurs novices et ceux qui n'ont aucune comptences mais qui dsirent apprendre ! Ou est l'apprentissage si tu ne sais mme pas ce que signifie le code ni ou il faut le taper. Commence par apprendre les bases et les rudiments du langage avant de t'attaquer un projet de donnes. Tape 'Cours VB.Net' sur Google et clic sur le 1er lien. Voila. COMMENTAIREDE

MAYZZ

LE

09/08/2010 17:58:18

"plutt Mayzz il plus sage que moi" Mon pauvre pas de ce temps, si il y a bien quelqu'un qui ne pourrait devenir admin ce serait moi, je ferais des abus de 'boutons supprimer' (en particulier sur le forum ou j'effacerais 50% des posts journalier ^^), et je me ferais trait d'admin zl. COMMENTAIREDE SABYR LE

09/08/2010 23:34:17

est ce je vais juste copier le code et le coller ; merci d'avance

COMMENTAIRE

DE

SHAEGAL

LE

10/08/2010 01:13:31

Bonjour Mayzz et ADN56, Je vais prendre le risque de faire l'avocat du diable en essayant de dfendre les quelques nophytes qui se retrouvent sur ce tuto, qui m'a d'ailleurs beaucoup aider et dont je remercie l'auteur. (Quelques questions vont suivre) Ceux-ci dbutent dans ce domaine en autodidactes et commencent effectivement leurs recherches sur internet

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,sans connatre les mots-cl ncessaires. Et certains chouent naturellement sur ce tuto qualifi "pour dbutants". Et l, c'est le drame. J'imagine que c'est pour cette raison que les modrateurs laissent le sujet ouvert tout dbutant digne de ce nom et n'affectent pas les droits tous ceux qui s'estiment un peu trop. J'ai commenc sur Commodor 64 en BASIC, et si tout le monde m'avait envoyer balader, je n'aurait jamais entendu parler de "Formatage", l'poque ncessaire pour inscrire des donnes sur disquettes 5,25 pouces. C'a paraissait tellement vident que personne n'y pensait. Et c'est en "emmerdant" un collgue professionnel en dveloppement qui une une lumire et m'en fait part. Je pense donc qu'il faut excuser tous ceux qui se prsentent sur ce tuto car ils n'ont aucune ide d'o ils sont et si c'est le dbut. Je sais que a peut parfois tre nervant car je dispense moi-mme des cours de math, mais il faut rester zen. Au risque de me faire un ennemi, qui pourtant m'a beaucoup apport de rflexion avec ses codes et je l'en remercie, mes questions s'adresseront exclusivement Mayzz qui semble avoir une me plus pdagogue. Car je suis moi-mme menuisier de mtier mais dveloppeur (c'est un bien grand mot) autodidacte par passion. J'aimerai avancer un peu plus loin dans la gestion des BDD. Est-il possible (et si oui de quelle faon) d'avoir un ID personnalis auto-incrment? Genre AA000, AA001, etc... Lorsque je crer deux tables de la faon de ton tuto, pourquoi la deuxime table n'a pas la commande DELETE? Sommes-nous oblig de travailler avec un formulaire de saisie alors qu'on pourrait le faire directement sur le DATAGRID? Y'a-t-il moyen que cette BDD soit "externe" au programme et pouvoir choisir son PATH ds l'installation? Mais peut-tre suis-je l hors sujet ou bien ces questions seront abordes lors d'un prochain tuto. Si c'est le cas, a-tu une ide de la date de sa parution? Si c'est dans la mme philosophie que celui-l, je suis preneur. Ces questions peuvent paraitre dbiles certains mais font partie de mon panouissement personnel. J'espre ne pas m'tre embrouill avec cette communaut qui m'apporte chaque jour des solutions mes projets... ;-) COMMENTAIREDE

MAYZZ

LE

10/08/2010 02:38:50

@Shaegal> Sache que d'abord j'apprcie grandement ta dmarche de vouloir prendre la dfense des membres dbutants de ce site et ce, avec courtoisie et politesse. C'est donc pour cela que je vais me "prendre la tte" te rponde en relatant des discussions qui ont eu lieu des dizaines de fois ici... "J'imagine que c'est pour cette raison que les modrateurs laissent le sujet ouvert tout dbutant digne de ce nom et n'affectent pas les droits tous ceux qui s'estiment un peu trop." Le problme vient du faite que la politique trop 'laxiste' mon gout des webmasters laissent le champ libre tout code ou commentaire du moment qu'il ne comporte pas d'insulte ou de discrimination raciale. De ce fait ce site perd de sa qualit de jours en jours et c'est un incroyable fourre-tout. C'est trs dommage, pour ma part je tiens beaucoup ce site qui m'a permis d'en apprendre autant. Voici par exemple une source de programme qui n'a rien faire ici et qui pollue : http://www.vbfrance.com/codes/GESTION-COMMERCIAL_52146.aspx Sachant que s'en est une parmis tant d'autres. "Je pense donc qu'il faut excuser tous ceux qui se prsentent sur ce tuto car ils n'ont aucune ide d'o ils sont et si c'est le dbut." Nous faisons beaucoup de reproches aux dbutants, le premier tant l'impolitesse, j'imagine que tes lves en cours te disent bonjour, s'il vous plait et merci, tre dbutant ne permet pas de manquer de respect aux autres membres. Deuxio, la plupart des dbutants qui viennent ici, n'en n'ont rien faire de la programmation, ils ne sont pas passionns, ce qu'ils veulent c'est que qu'on fasse leur exercices de prog. et parfois mme leur travaille leurs place. J'en prends par exemple ce post : http://www.vbfrance.com/forum/sujet-REPRODUCTION-LAPIN_1459976.aspx Ou encore certains autres qui nous demande de crer gratuitement dans une urgence totale une application complte de gestion d'un camping prtextant qu'ils sont dbutant. Et bien souvent ce sont toujours le mme type de membres qui viennent ici pour prendre et ne partagent jamais. tre perdu est une chose, mais manquer de respect, pourrir le site et se servir des gens en est une autre, beaucoup de membres chevronns on quitts le forum cause de cela, et ne viennent plus dposer leur source de peur de les voir mises en ventes 3 jours plus tard. Car le temps ou les sources servaient l'apprentissage est dsormais rvolue. Reprenons ce tuto, j'ai du pass 3 heures le faire, pour justement rpondre des dbutants qui ne savent pas trop manipuler les donnes, j'ai dtaill au maximum, ce tuto comporte 60 captures, sa source en est disponible mais cela ne vas toujours pas, moi aussi je suis autodidacte depuis 10 ans et perso j'ai suivis des tuto et des ouvrages 10 fois moins dtaills que celui-ci, c'est donc que pour moi ces 'gens' ne veulent pas apprendre, ils ne font aucun effort ce qu'ils veulent c'est qu'on apprennent leur place, malheureusement ce n'est pas possible. Je pourrais en parler des heures, mais ce que je te montre la n'est qu'un aperu, si tu traine un peu le forum tu t'en rendra vite compte, je vais donc m'arrter l. Passons tes questions d'ordre technique : "Est-il possible (et si oui de quelle faon) d'avoir un ID personnalis auto-incrment?" Oui, en modifiant le type de valeur (INT) et en dfinissant le champs auto-incrment. "Lorsque je crer deux tables de la faon de ton tuto, pourquoi la deuxime table n'a pas la commande DELETE?" Si ta deuxime table n'a pas eu de requte DELETE auto gnr c'est que l'objet CommandBuilder n'a pas trouv de faon de la crer, rappelons que le CommandBuilder, cre une requte DELETE partir de la commande SELECT. Vrifie donc que ta cl primaire y soit bien slectionne. "Sommes-nous oblig de travailler avec un formulaire de saisie alors qu'on pourrait le faire directement sur le DATAGRID?" Non, je l'ai fais comme cela, car je ne trouve pas du tout pratique l'ajout la suppression et la modification partir du DataGridView, les modifications se font la validation et la suppression via la touche 'Del', pour un utilisateur lambda ce n'est pas intuitif. "Y'a-t-il moyen que cette BDD soit "externe" au programme" Bien sr il suffit de modifier la chaine qui de connexion (contient l'emplacement de la base) de chaque TableAdapter avant que ceux-ci ne soit utiliss. "et pouvoir choisir son PATH ds l'installation?"

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,

C'est possible avec Visual Studio pro seulement car les projets d'installation sont lgrement plus souples et permettent plus de fonctionnalits. J'ai rpondu un peu vaguement tes questions mais si tu souhaites plus de prcisions, je suis souvent sur le forum, n'hsite pas poster, tu peux me mettre les liens vers tes posts en MP. Il y aura bientt un autre tuto Base de donnes #2, travaillant avec plusieurs tables en relations et peut tre les connexions distantes pour changer un peu. Pour sa publication je l'ignore encore, j'y travaille ds que j'ai un peu de temps de libre et l'envie de m'y mettre. Voila, je pense vraiment que cela sera mon commentaire le plus long et que j'aurais mis un sacr moment rpondre ^^ (Difficile de faire pire). COMMENTAIREDE

MAYZZ

LE

10/08/2010 03:21:57

J'oubliais de prciser que pour chaque lien, tu y trouveras des commentaires que j'ai posts exprimant mon ras-le-bol et/ou mon mcontentement, premire vue cela peut sembler tre un raction excessive de ma part (et de celle de certains autres membres) mais il faut vraiment remettre les choses dans leur contexte, pour cela il faut frquenter ce site trs souvent pour comprendre. Voici un dernier exemple dmontrant un petit peu le 'Contexte' en question : http://www.codes-sources.com/forum/sujet-DEVELOPPEMENT-SITE-WEB_1451321.aspx?p=5 COMMENTAIREDE

ADN56

LE

10/08/2010 07:38:09

Salut, bon visiblement SHAEGAL trouve que je la pette un peu trop ? Ben j'm'en fou, la seul chose que je reproche au dbutant c'est de pourrir ce tuto avec des questions stupide ! je cite : et aussi je sais pas le code que je vais tapper. est ce je vais juste copier le code et le coller ; merci d'avance Et voila comme tous il suffit de copier / coller, (c'est comme cela que l'on apprend) alors qu'en plus MAyzz c'est fait chier pondre une source exemple qu'ils ne sont mme pas foutu de trouver ! Tu ne le sais pas car le mnage t fait mais cela va faire la seconde fois que je demande aux modos de faire le mnage sur ce tuto. Ce ne sont pas des femmes de mnages ! La seul chose que je demande, c'est lorsque l'on a des questions qui ne rentre pas de faon cohrente dans le sujet c'est d'aller le poster sur le forum en citant le tuto ! C'est la base d'un forum ! tout comme le merci et le bonjour, les deux mots que l'on apprend en PREMIER en langue vivante. Dire qu'il y 6 mois je me frittais avec BIGBOSS69 parcequ'il dcendait les codes merdiques et que maintenant cela devient tellement la norme que moi mme je fini par penser comme lui ! Mayzz raison, les sachants foutent le camps par dgout et le jours o il ne restera plus que des petits programmeurs de merde comme moi, ben le forum sera mort. Tu vois Mayzz je bosse depuis notre dernire conv MSN sur le code/tuto des classes mtiers en liaison avec ton tuto pour y choper les datas, ben j'suis pas sr du tout de le publier ! kenavo COMMENTAIREDE

SHAEGAL

LE

10/08/2010 10:33:23

Bonjour, Je m'attendais une rponse plus foudroyante d'ADN56, mais a va. Non, publie-le! Tout m'intresse. Malgr tes ractions excessives (l'emploi du breton pourrait l'expliquer. Je plaisante), je prends toujours en compte les posts et commentaires que tu dposes. C'est toujours riche d'enseignement. Alors, ne soit pas vex et voit en moi quelqu'un qui se faisait juste l'avocat du diable. Mayzz. Merci (je crois que j'avais oubli dans le post prcdant) pour tes prcieuses rponses. Vu l'heure tardive o tu as rpondu, j'espre que tu as pu dormir un peu. Pour ma part, je suis en vacances. Mon employeur tant un peu radin (fonctionnaire), je n'ai eu droit qu' la version 2008 Express Edition. Ce que j'ai oubli de prciser prcdemment. L'ide tait de crer une BDD sur pocket pc consultable avec un pc en vue de crer un graphique et autres statistiques. Genre relev des compteurs EDF, GDF et autres. Faut bien dbuter par quelque chose. Quant la fonction DELETE de la seconde table, elle ne contient pas de cl primaire mais utilise celle de la premire table comme rfrence. Le sujet de ce tuto n'en tant pas ce stade, il est peut-tre souhaitable d'en parler en MP. Non? Il vrai qu'en tant que non nophyte, lorsque je cherche un code ou un tuto, je sais chercher ce dont j'ai besoin. Mme si la perte de temps filtrer peu sembler importante, je fini presque toujours par le rattraper en trouvant le bon post. Il faut juste se donner la peine de fouiller. Tout comme sur une brocante, on fini souvent par trouver la perle rare. De fait, je ne suis jamais tomb sur des exemples tels que ceux que tu m'as cit. Il y a effectivement de l'abus. Le multi-passionn que je suis ne sais pas voir le mal l o il est. Et mes cours de math sont dispenss directement chez l'habitant. J'ai donc toujours droit aux politesses d'usage que sont "bonjour", "merci" et "au revoir" (ou kenavo). Je ne retourne pas ma veste. Je met juste un bmol ma raction aux vues des lments cits plus haut. A bientt... COMMENTAIREDE

ADN56

LE

10/08/2010 11:55:29

Re Shaegal, tu sais, pour commencer si je pense ne pas publier ce tuto c'est pas du tout vis vis de toi, mais belle et bien vis vis des prises de tte que Mayzz affrontes depuis quelques temps avec le sien. Merci de l'interet que tu porte mes commentaires, et sache que j'entend avec plaisir ton humour. Tu trouves mes ractions exessives surrement parcequ'elle le paraissent de prime bord (Breton tte de cochon me diras tu ^^) En fait, non elle ne le sont pas, elles sont la consquence d'un ral le bol qui s'accumule sur plusieurs forums ou parfois je dois faire le mnage moi mme. Qu'elle que soit le sujet cela devient partout pareil ! Exemple sur un forum electrotech : "Lut, je pass mon bac dem1 midi, kk1 d formule pr me ?" ou "1 moteur f 14Kw en tri, sa f koi en ampaire??vite je ren mon truc 2m1!!" Mieux ! Mp reu l'instant : Aujourd'hui 11:07 Sujet: moteur a cauran continu salut je veus fair un instalon d'un motur a caurant avec varaiteur de vitesse continu 25.6kw u=400v I=74A tension d'excitation 200v caurant d'excitation 3.6A on utilison soit potonciomtre soi bouton poussoir +/- je veus le schma de puissance et de commande et carasistique que je base sur le variareur de vitesse et merci davant

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,Tu vois ce que je veux dire ???? Alors oui au bout d'un moment cela saoule et la soupe me monte au nez comme la moutarde au milieu de la figure. Note que cette situation m'aura permis de discuter avec toi. Conclusion : l'investissement personnel dans une recherche est inversement proportionnel la puissance technologique pour ce faire ! cordialement. COMMENTAIREDE

SHAEGAL

LE

10/08/2010 12:51:46

ADN56, Cela montre quel point tu te sens impliqu sur ce forum et sur d'autres apparemment. Pourquoi une telle implication alors que tu n'es pas modrateur? Surement un sens aigu du partage de la connaissance. Tant mieux finalement. Les exemples de Mayzz taient dj parlants. Les tiens ajoutent aux nombre d'abus dj bien prsents. Et en MP qui plus est! Rassure-moi, c'est du copier/coller? Question rhtorique bien sur. Il faut bien entendu filtrer les dbutants sincres de ceux qui qui veulent qu'on leur mche le travail. Les fainants par dfinition. Corrige-moi si je me trompe, mais ton raz-le-bol sur ce tuto semblait ne plus faire la distinction entre les deux. Le mnage tant fait, on ne saura pas. Mais nous ne somme pas l pour nous faire des procs. Je suis ici pour apprendre. Et je t'avoue que c'est une soif que je n'arrive pas tancher. Et puis, ici, c'est un forum sur le dveloppement, pas sur une philosophie de l'ducation. ^^ Quelque soient vos raz-le-bol, toi et Mayzz, il faut continuer nous aider, nous les dbutants sincres. Ne serait-ce que pour ceux qui en veulent. Tout comme il suffit d'une brebis galeuse pour tout infecter, il suffit d'une bonne volont pour que ce tuto, ce forum, ce site aient une raison d'exister. J'espre en faire partie et ne pas vous dcevoir, mme si parfois mes questions peuvent paraitre purile en dveloppement. Cordialement COMMENTAIREDE

MAYZZ

LE

10/08/2010 13:17:32

Rassures-toi Shaegal, nous savons dissocier de suite les membres qui ont envie d'apprendre et les autres fainants et ce n'est pas trs difficile, cela se ressent dj premirement dans l'orthographe et la grammaire (je dis cela malgr que je sois trs mauvais en franais, j'en veux pour preuve que c'est ADN qui a fait la correction de ce tuto, d'ailleurs je me suis aperu ne pas avoir tout corrig, j'en ai oubli, bref..), puis cela se sent en suite dans la politesse et enfin dans la demande, le sujet du post quoi. COMMENTAIREDE

ADN56

LE

10/08/2010 16:36:05

Question rhtorique c'est malheuresement le vrai copi/coll -_-" Cela devient quotidien ce genre de message ! Pour mon investissement, je vais te rpondre, mais en MP. D'abord parceque c'est perso, ensuite parceque ce tuto est dja bien tout vrrol.

COMMENTAIRE

DE

SHAEGAL

LE

10/08/2010 20:23:58

La langue franaise. Langue complexe et combien riche. Il serait dommage de ne pas l'exploiter au maximum. Sinon, ce serait comme acheter le dernier pc ultra-performant juste pour jouer au morpion! Un simple petit tableau blanc ferait l'affaire. Et puis, tu t'exprimes plutt bien Mayzz. Soit, il y a des fautes de frappe. C'est la magie du clavier. Il est plus facile de se concentrer sur un livre que sur un cran. A mon sens. Bref. Tu n'as pas rpondu mon commentaire du 10/08/2010 10:33:23. Afin de t'pargner sa recherche, j'ai fait un copier/coller. a semble tre une tradition ici.^-^ "L'ide tait de crer une BDD sur pocketPc consultable avec un pc en vue de crer un graphique et autres statistiques. Genre relev des compteurs EDF, GDF et autres. Faut bien dbuter par quelque chose. Quant la fonction DELETE de la seconde table, elle ne contient pas de cl primaire mais utilise celle de la premire table comme rfrence. Le sujet de ce tuto n'en tant pas ce stade, il est peut-tre souhaitable d'en parler en MP. Non?" Merci d'avance......... ;-) COMMENTAIREDE

MAYZZ

LE

10/08/2010 20:55:27

C'est donc pour cela que tu n'as pas de requte DELETE gnr automatiquement dans ton TableAdapter. Il faudra donc que tu la saisisse la main. Et oui le manag ca a du bon mais il ne faut pas en abuser ^^ Ce que je ne comprend pas en revanche c'est comment tu lie tes deux tables. Voici un exemple de liaison : Table Etudiants - ID - ClasseID - Nom - Prenom Table Classes - ID - NomClasse - Niveau - Annee Ici les entres des tables classes auront toutes deux un ID, afin de les identifier. Mais l'entre de la table 'Etudiants', possdera un lien mnant une entre de la classe 'Classes', ainsi chaque tudiant possede une classe : ClasseID(Etudiant) => ID(Classe). Voila ce qui permet de faire une liaison entre deux tables dans une base de donnes. Il y a plusieurs mthodes bass sur ce pricipe mais je les dtaillerais peut tre dans le prochain tuto. COMMENTAIREDE

SHAEGAL

LE

11/08/2010 01:20:58

Voici un projet en cours de dveloppement. Quoique celui-ci ne soit pas trs avanc car je sche au niveau de la BDD. Ce projet vise simplement saisir des relevs de spiromtrie par patients. Actuellement, j'ai uniquement couch sur du papier les tables suivantes: Table Patients - IDPatient - Nom - Prnom

file:///C|/Users/MSAADANI/Videos/Tlchargements%20RealPlayer/Formation%20SQL/Sql%20Server%202008/GESTION-DONNEES-VISUAL-BASIC-2008-SQL-SERVER_1133.aspx.htm[19/07/2012 15:12:33]

GESTION DES DONNES VISUAL BASIC 2008 ET SQL SERVER CE, Tutoriel N1133,Sexe Date de naissance Dpartement de rsidence Date du prochain RDV Date du prochain relev

Table Relevs - PatientID - Date du relev - Valeur - Commentaires Fournir un IDRelev dans cette dernire table me semble inutile. Que penses-tu de mon raisonnement? J'ai aussi suppos que ma table "principale" devait tre celle des patients. Aujourd'hui je doute de mon choix. Quoique l'ID est bien sur celle-ci. Autre question: tu m'as dit qu'il est possible de personnaliser l'ID auto-incrment en choisissant par exemple le type de valeur INT et en choisissant le mode autoincrment. Ok. Mais que fais-je de newid()? Quelle est la syntaxe lors d'un ajout d'une ligne de donnes? Et quand on supprime une ligne, son numro ne risque-t-il pas de rapparaitre? A moins de ne pas supprimer la ligne et ajouter une case cocher "rform". J'avais fait quelques essais dans ce sens et j'affichais volontairement l'ID. J'ai vu apparaitre quelques bizarreries o les ID s'ajoutaient. Exemple: ID=1. Jajoute une ligne. ID=1 passe ID=2. Et le nouvel ID=3. Je me retrouve avec les ID 2 et 3. Le 1 disparu. Je sais pas si je suis bien clair. ;-) Je crois que c'est force de "trifouiller" que j'en ai perdu le fil et je ne savais plus o j'en tait. Honte moi. ^^ Peux-tu m'aider sur ces quelques questions. Merci et ... bonne nuit. ;-) COMMENTAIREDE

MAYZZ

LE

11/08/2010 01:33:43

En fait, pour ton schma de