Accueil > Forum > > > > La meilleure façon de gérer une base ?
La meilleure façon de gérer une base ?
vendredi 8 mai 2009 à 12:35:56 |
La meilleure façon de gérer une base ?

Papymuzo
|
Bonjour, Je poste ce message car j'ai une question par rapport à la méthode de codage pour relier un programme à une base Access en OleDB. Je me demande comment s'y prendre pour que ce soit le plus efficace : - Est-ce qu'on doit récupérer chaque table dans un DataSet, puis mettre dans une table la recherche que l'on effectue par le biais de requêtes SQL ? (En gros on aurait la table Table1, Table2, Table3... TableRecherche). - Est-ce qu'on doit récupérer, dans un DataSet, uniquement la recherche que l'on souhaite ? (Donc uniquement la table TableRecherche, ce qui impose des requêtes SQL fréquentes). - Afin d' updater des données sur la base, est-ce qu'il vaut mieux utiliser un DataRow que l'on ajoute à notre table, puis que l'on update avec un DataAdapter ? (Méthode "classique" pour updater des données via un DataSet). - Ou alors est-il préférable d'utiliser uniquement des requêtes SQL (INSERT INTO... UPDATE TABLE... etc) ? En vous remerciant, -Papymuzo-
|
|
samedi 9 mai 2009 à 10:50:30 |
Re : La meilleure façon de gérer une base ?

Mayzz
|
Salut,
Pour ma part, je procède comme suis:
Je sépare totalement SQL/VB, je balance toutes mes requêtes dans des TableAdapter (d'un DataSet) et j'appelle les procédure dans le code behind, c'est simple et pratique, chaque TableAdapter possede sa propre DataTable.
Le soucis est peut etre que cela obligue a 'Séparer' un peu les requêtes, on ne peu pas tout mettre dans un TableAdapter, à moins d'avoir des requête donnant un DataTable identique pour tout le programme.
Voilou @+
|
|
samedi 9 mai 2009 à 12:28:39 |
Re : La meilleure façon de gérer une base ?

Papymuzo
|
Salut, Je n'ai jamais entendu parler de TableAdapter, mais je vais essayer de regarder comment ça marche ;) Sinon, je vais essayer de faire comme ça : stocker chaque table dans une table du DataSet (afin d'avoir "tout sous la main"), puis créer une table nommée TRecherche (par exemple), dans laquelle j'effectuerai toutes mes requêtes SELECT. Ensuite, je ferai des INSERT ALL, INSERT INTO etc, au lieu d'utiliser une DataRow. Je pense que ce système est plus fiable, et protège des erreurs (à condition de bien organiser sa base). Qu'en pensez-vous ? -Papymuzo-
|
|
samedi 9 mai 2009 à 16:24:37 |
Re : La meilleure façon de gérer une base ?

Mayzz
|
Re,
Pour les données le DataSet est idéal.
Comment ca marche ? C est simple, tu ouvre ton dataset tu fait un click doit dans un espace vide et dans le menu tu sélectionne 'Ajouter' => 'TableAdapter', en suite, tu crée ta 1ère requête SELECT SQL qui portera un nom pour être ensuite appelé comme une procédure vb classique dans le code behind. De la, un TableAdapter va être créé et un modèle de Table basé sur ta requête, exemple:
Supposons que j'ai une table 'Products' dans ma base de données, que mon Dataset se nomme 'Stock' et que ma requête select sera nommé par exemple 'GetAllProducts'
SELECT Product_ID, Product_Name, Product_Ref FROM Products
Et j'aurais donc un dataset nommé par défaut 'ProductsTableAdapter' et un schéma de table relié à celui-ci nommé 'Products' qui ressemble à cela :
Product_ID Product_Name Product_Ref
Dans mon dataset je peu ensuite rajouter autant de procédures que je veux (et pas spécialement des SELECT), du moment que les informations retournés par celles-ci soit au même schéma de table, Exemple:
Je veux créer une requête GetProductByID, qui va me retourné qu'une ligne dans ma table, celle du produit spécifié:
SELECT Product_ID, Product_Name, Product_Ref FROM Products WHERE Product_ID = @Product_ID
cette requête correspont car elle retourne les même colonnes que la requête maitre (Product_ID, Product_Name, Product_Ref) mais la requête :
SELECT Product_ID FROM Products WHERE Product_ID = @Product_ID affichera un avertisssment car elle retourne un schéma de table différent de la requête pricipale. Pour créer une tel requête il faudra alors recréer un TableAdapter.
Pour utiliser les données dans le code c'est ensuite très simple, il faut instancier les Tables et TableAdapter comme des classes existantes:
Dim TA as New StockTableAdapters.ProductsTableAdapter Dim T as Stock.ProductsTable = TA.GetAllProducts' <== Appel de la requête SELECT et replissage de la table 'T'
En Suite il suffit de parcourir les données de la table
Dim R As Stock.ProductsRow For Each R In T.Rows Dim ProductID as String = R.Product_ID Dim ProductName As String = R.Product_Name [...] Next
Voila pour le petit tuto vite fait en espérant que cela t'aidera (j'ai fait ca de tête j'ai peut-être commis des erreur en ce qui concerne les noms...)
@+
|
|
Cette discussion est classée dans : base, table, sql, dataset, requêtes
Répondre à ce message
Sujets en rapport avec ce message
où peut on écrire les requêtes sql sous VB6? [ par lightdarkness ]
bonjour, je suis débutant en VB6 j'aimerais trouver de l'aide sur ce forum svp j'ai créer une base de données sous Access et j'ai fait la liaison sous
excel connexion base de données [ par pepez ]
Bonjour!!!je suis en train de développer une petite application sous excel, access (et sql server)Le problème que j'ai est que j'ai une table SQL serv
pb excel connexion base de données [ par pepez ]
Bonjour!!!je suis en train de développer une petite application sous excel, access (et sql server)Le problème que j'ai est que j'ai une table SQL serv
Ajouter des données à une table SQL [ par gorby69 ]
Bonjour,Je veux importer un fichier Excel dans une base SQL.J'arrive à récupérer les données dans le fichier Excel.J'arrive à me connecter et à créer
Performances base SQL [ par gorby69 ]
Bonjour à tous,J'attaque une base SQL 2000 Serveur en ASP. Je sais c'est pas le bon site mais c'est celui ou il y a à priori le plus de passage...Le p
requete sql sous VB [ par spike62300 ]
Bonjour tout le monde,je vous explique. J'ai une base oracle avec un tas d 'information. J'ai décidé de prendre uniquement les infos necessaires de la
DataSet - DataGrid [ par djcool74 ]
Bonjour à Tous Je suis en train de réaliser une application qui accède a une Base de Données Access. J'utilise une connection OleDB.Je remplis dans mo
AIDE : Remplir combobox avec une table SQL [ par Fabfranck ]
Bonjour, je commence une aplication VB et ma connexion est établie avec ma base SQL avec OLEDB. Je dois maintenant remplir ("peupler") mon combobox av
DataSet Mis à jour [ par EvilGost ]
Bonjour à tous amis développeurs,Je vous expose mon soucis.J'ai une base Access et une application sur 2 postes différents, qui accèdent tous deux à c
Base de donnée [ par molbento ]
Bonjour, j'ai une question de base de donné a vous posé j'aimerais créer une table contenant 2 colonnes. La première colone est identifiant est le nom
Livres en rapport
|
Derniers Blogs
XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio [WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|