IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Appel d'une procédure insert ou update avec paramètres [Débutant]


Sujet :

VB.NET

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2012
    Messages : 68
    Points : 58
    Points
    58
    Par défaut Appel d'une procédure insert ou update avec paramètres
    Bonjour,
    Dans ma base de données Sql Server 2008, j'ai crée une procédure stockée "Ajouter_Client" qui est de la form suivante:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE proc [dbo].[Ajouter_Client] (@NOM varchar(20), @PRENOM varchar(20), @NAISSANCE date)
    as
    begin
    insert into CLIENT values (@NOM, @PRENOM, @NAISSANCE)
    end
    Au niveau VB.NET, j'ai fais "Ajouter une nouvelle source de données" et j'ai finalement obtenu un dataset qui contient mes tables et mes procédures nommé: "All_TestsDataSet.xsd".
    en plus, j'ai un formulaire qui contient 2 textboxes (Textbox1, Textbox2) + un "DateTimePicker1" - Pour la date de naissance.
    Donc mon problème est comment faire en sorte que lorsque je clique sur le bouton "Sauvegarder", exécuter ma procédure stockée "Ajouter_Client" ?
    J'ai déjà trouvé des réponses mais je me trompes beaucoup quand je les utilise surtout que j'utilise un Dataset, ce dernier que je n'arrive pas bien à le manipuler quand il s'agit de la gestion des procédures(sachant que dans les tutoriels que je trouve il y'a le "DS.****", que je ne sais pas à quoi fait référence exactement!!)..J'attends vos propositions et merci beaucoup d'avance..

  2. #2
    Membre expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Points : 3 304
    Points
    3 304
    Par défaut
    Je n'ai pas l'habitude de travailler en passant par la fonctionnalité "Ajouter une nouvelle source de données" ,je préfère garder un contrôle total sur le code que je crée.

    Pour ton soucis regarde du coté des DataAdapter, avec ceux-ci tu peux spécifier 3 propriétés (insertcommand, updatecommand, et selectcommand).

    Quand ton DataAdapter est correctement configuré, tu peux utiliser la méthode "fill" pour remplir le dataset, et après la méthode update de celui-ci, si tes propriétés du DataAdapter sont correctement initialisées, l'update se fera tout seul.

    Dernière chose, ces propriétés sont en fait des DbCommand dont tu peux spécifié le type comme étant une procédure stockée.
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2012
    Messages : 68
    Points : 58
    Points
    58
    Par défaut
    Merci pour votre réponse, je suis actuellement entrain de lire l'article "Utilisation de procédures stockées dans Visual Basic .NET" de MSDN et je vais garder en mémoire ce que vous m'avez dit..
    Cependant:
    Citation Envoyé par infosam76 Voir le message
    Je n'ai pas l'habitude de travailler en passant par la fonctionnalité "Ajouter une nouvelle source de données" ,je préfère garder un contrôle total sur le code que je crée.
    Je travail en ce mode pour que je puisse déployer mon application finale, sinon est il possible de déployer son application avec sa base de données afin de la fournir au client final sans passer par ce mode?
    Merci ..

  4. #4
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 147
    Points : 25 054
    Points
    25 054
    Par défaut
    quelle est l'utilité d'avoir une procédure stockée qui fait juste un insert ?

    Citation Envoyé par Bakkach Voir le message
    Je travail en ce mode pour que je puisse déployer mon application finale, sinon est il possible de déployer son application avec sa base de données afin de la fournir au client final sans passer par ce mode?
    Merci ..
    ce que tu fais n'est pas lié au déploiement
    de plus une base sql server (sauf ce) ne peut etre déployée avec un exe car c'est une base réseau qui doit etre liée à une instance sql server
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2012
    Messages : 68
    Points : 58
    Points
    58
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    une base sql server (sauf ce) ne peut etre déployée avec un exe car c'est une base réseau qui doit etre liée à une instance sql server
    Merci pour ta réponse, mais, on n e peut pas déployer une application avec un fichier de base de données sql server, cette dernière étant détachée du serveur? Car Finalement on obtient le fichier de BDD comme celui d’une BDD Access!!!, j'aimerai bien que vous me corrigiez ..
    Car enfin, dans mon application je compte utiliser pas mal de procédures et triggers, et je pense toujours au déploiement final de l'application, alors j'aimerai bien un "advice" de votre part concernant le SGBD à utiliser !!!

  6. #6
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par Bakkach Voir le message
    Merci pour ta réponse, mais, on n e peut pas déployer une application avec un fichier de base de données sql server, cette dernière étant détachée du serveur? Car Finalement on obtient le fichier de BDD comme celui d’une BDD Access!!!, j'aimerai bien que vous me corrigiez ..
    Un fichier de base de donnée (de "vraie" base de donnée, j'entend) n'a pas à être manipulé, ni déployé.

    Quand on doit livrer une structure de base avec une application on livre le script SQL de création des éléments de la base (Table, Vue, Proc stoc, trigger, etc ....) JAMAIS un fichier de base.

    Dans Sql Server, il y a un générateur de sript pour préparer cela, dans le menu contextuel de la base (Task -> Generte Scripts).

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2012
    Messages : 68
    Points : 58
    Points
    58
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    Un fichier de base de donnée (de "vraie" base de donnée, j'entend) n'a pas à être manipulé, ni déployé.
    Merci beaucoup, bon je ferme ce sujet car il est résolu, et j'ouvre un nouveau topic concernant le déploiement..merci bcp pour vore aide

  8. #8
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2012
    Messages : 68
    Points : 58
    Points
    58
    Par défaut
    Concernant l'appel des procédures stockées, il suffit de lire l'article suivant de MSDN pour bien comprendre:
    http://msdn.microsoft.com/fr-fr/library/bb469808.aspx
    MErci à tous ..

  9. #9
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 147
    Points : 25 054
    Points
    25 054
    Par défaut
    je pense que c'est utile de rouvrir un topic

    il y a 2 types de bases de données, les bases de données fichier, et les bases de données réseaux
    une base de données fichier est accédée directement, elle ne nécessite qu'une dll, parfois existante dans le framework
    ce type de base de données est pratique pour du mono utilisateur

    une base de données réseau n'est pas accessible directement, c'est un programme qui peut la manipuler, c'est le cas d'sql server, il faut donc qu'sql server soit installé, la base rattachée etc...
    dans le cas d'une appli mono utilisateur on installe rarement un moteur de base de données

    en base fichier il y a sql server ce, qui fait des fichiers .sdf, qu'on peut déployer facilement, la syntaxe sql est la même que pour sql server


    et tu n'as pas répondu à ma question "pourquoi faire une procédure stockée qui fait juste un insert", car tu peux mettre la requete dans le code
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  10. #10
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2012
    Messages : 68
    Points : 58
    Points
    58
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    et tu n'as pas répondu à ma question "pourquoi faire une procédure stockée qui fait juste un insert", car tu peux mettre la requete dans le code
    Merci, euuh je m'excuse j'ai pas fais attention!!
    En effet je comptes travailler avec des procédures stockées (il ne s'agit pas seulement d'un procédure insert) de sorte à ce qu'il suffit simplement de l’appeler du coté VB.NET, comme ça je me détacherai le maximum du code et je ne trouverai pas de difficultés au cas ou je change le langage de programmation..sinon, t'as une autre vision concernant cette méthode? j'en aimerai découvrir^^ ..

  11. #11
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 147
    Points : 25 054
    Points
    25 054
    Par défaut
    Citation Envoyé par Bakkach Voir le message
    En effet je comptes travailler avec des procédures stockées (il ne s'agit pas seulement d'un procédure insert) de sorte à ce qu'il suffit simplement de l’appeler du coté VB.NET, comme ça je me détacherai le maximum du code et je ne trouverai pas de difficultés au cas ou je change le langage de programmation..sinon, t'as une autre vision concernant cette méthode? j'en aimerai découvrir^^ ..
    il y a plein de raisons valables pour faire des procédures stockées, mais d'autres non valables auquel cas on explique pourquoi, la tienne se comprend donc pas de soucis

    et l'autre question du coup c'est ton appli est elle monoposte ou alors plusieurs utilisateurs depuis plusieurs pc doivent se connecter à la même base de données

    si mono utilisateur, il faut que tu transfères le contenu de ta base dans une base sql server ce (via des scripts par exemple)
    sql server management studio peut se connecter à des bases sql server ce, et sur le pc client final ca ne nécessite rien, tu peux alors mettre la base à côté de l'exe
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  12. #12
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    sql server management studio peut se connecter à des bases sql server ce,
    Petite précision : pas la version 2012 (et c'est absurde .... on en conviendra).

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  13. #13
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2012
    Messages : 68
    Points : 58
    Points
    58
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    si mono utilisateur, il faut que tu transfères le contenu de ta base dans une base sql server ce (via des scripts par exemple)
    sql server management studio peut se connecter à des bases sql server ce, et sur le pc client final ca ne nécessite rien, tu peux alors mettre la base à côté de l'exe
    C'est exactement ce que j'ai trouvé, je me suis connecté a sql server ce, j'ai crée une base de données mais j'ai trouvé qu'on n'a pas a possibilité de créer des procédures stockées ou des Triggers!!!

  14. #14
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par Bakkach Voir le message
    C'est exactement ce que j'ai trouvé, je me suis connecté a sql server ce, j'ai crée une base de données mais j'ai trouvé qu'on n'a pas a possibilité de créer des procédures stockées ou des Triggers!!!
    Sql Server CE ne permet pas de gérer de proc stoc, ni de user function ni de trigger.
    C'est le cas de toutes les bases "in-process" à ma connaissance (SqlLite, etc ...) : on part du principe que le process client embarquant la base, il n'y a pas de bénéfice à gérer ces objets avec ce type de base; ce qui est assez logique.

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  15. #15
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2012
    Messages : 68
    Points : 58
    Points
    58
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    Sql Server CE ne permet pas de gérer de proc stoc, ni de user function ni de trigger.
    Alors, la seule solution c'est de travailler sans les procédures stockées, n'est ce pas?

  16. #16
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par Bakkach Voir le message
    Alors, la seule solution c'est de travailler sans les procédures stockées, n'est ce pas?
    Si tu tiens absolument à travailler avec CE, oui.
    Mais comme tu sembles disposer de Sql Server 2008, il n'y a pas trop de raison de travailler avec Sql Server CE; il faudrait en savoir un peu plus sur le contexte fonctionnel.

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  17. #17
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 147
    Points : 25 054
    Points
    25 054
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    Petite précision : pas la version 2012 (et c'est absurde .... on en conviendra).
    pourquoi garder un truc bien quand on a la possibilité de le retirer


    Citation Envoyé par Bluedeep Voir le message
    Sql Server CE ne permet pas de gérer de proc stoc, ni de user function ni de trigger.
    C'est le cas de toutes les bases "in-process" à ma connaissance (SqlLite, etc ...) : on part du principe que le process client embarquant la base, il n'y a pas de bénéfice à gérer ces objets avec ce type de base; ce qui est assez logique.
    ca se comprend un peu mais ca reste dommage, la preuve l'argument de coder en base permet de changer de langage sans changer de base ...


    Citation Envoyé par Bakkach Voir le message
    Alors, la seule solution c'est de travailler sans les procédures stockées, n'est ce pas?
    oui et non, une procédure stockée ce n'est rien d'autre qu'un string, donc tu peux te faire une table avec une colonne nom et une colonne requete (nvarchar(max))
    tu peux alors exécuter du code sql en fonction d'un nom, soit la même chose qu'une procédure stockée ou presque


    Citation Envoyé par Bluedeep Voir le message
    Si tu tiens absolument à travailler avec CE, oui.
    Mais comme tu sembles disposer de Sql Server 2008, il n'y a pas trop de raison de travailler avec Sql Server CE; il faudrait en savoir un peu plus sur le contexte fonctionnel.
    si avec les explications que j'ai donné il a voulu partir sur CE c'est qu'il en mono user, et en plus il veut un setup qui installe tout ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  18. #18
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2012
    Messages : 68
    Points : 58
    Points
    58
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    si avec les explications que j'ai donné il a voulu partir sur CE c'est qu'il en mono user, et en plus il veut un setup qui installe tout ...
    C'est exact, alors c'est ça la solution, je vous remercie infiniment, vous m'avez beaucoup aide et m'avez permis d'ouvrir mes yeux sur de nouveaux concepts..merci beaucoup et bonne chance

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 19
    Dernier message: 24/03/2014, 09h35
  2. [Free Pascal] Appel d'une procédure ayant un fichier comme paramètre
    Par antezi dans le forum Free Pascal
    Réponses: 2
    Dernier message: 04/05/2013, 17h37
  3. Appel d'une procédure stockée avec c#
    Par ing_ensi84 dans le forum C#
    Réponses: 3
    Dernier message: 05/01/2012, 11h28
  4. Appel d'une procédure contenant un update dynamique
    Par ckermorgant dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 29/04/2011, 00h41
  5. Appel d'une procédure stockée avec un curseur
    Par lapanne dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/12/2006, 17h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo