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

C# Discussion :

executer une suite de requetes


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 132
    Points : 47
    Points
    47
    Par défaut executer une suite de requetes
    Bonjour,
    j'ai une suite de requêtes à executer l'une derrière l'autre, en les appelant à partir de mon programme.



    où dois je stocker ces requetes?
    - dans une table sur mon serveur?
    - les coder en dur dans une classe que je nomme listerequetes et les mettre dans une liste.
    - dans un fichier texte?

    Mon idée au debut etait de les mettre dans une table sur le serveur que j'ai nommé REQUETES. elle a la structure suivante:

    code int
    nomRequete string
    TexteRequete string(MAX)

    mais le problème c'est que pour saisir la texte des requetes directement sur l'interface de sql server, ce n'est pas possible et ce n'est pas pratique car la requete contient des retour à la ligne et en faisant copier/coller il m'insere que la première ligne du texte de la requete dans la grille de l'intrface sql server.

    voilà.
    merci.

  2. #2
    Membre éclairé Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Points : 735
    Points
    735
    Par défaut
    il y a les procédures stockées sur le serveur.

  3. #3
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    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 154
    Points : 25 072
    Points
    25 072
    Par défaut
    l'avantage de mettre ses requetes en base (dans une table ou autre) c'est qu'on peut les modifier sans recompiler l'exe

    ensuite pour modifier les requetes, tu peux te faire une appli (ou un form dans ton appli accessible via une combinaison de touche)
    et donc tu peux faire un éditeur de requete (certains ont réussi à récupérer celui de microsoft)

    moi j'ai juste réussi à le récupérer en mode design, ce qui pourrait suffire via un smarttag avec un link pour appeler l'éditeur

    m'enfin c'est pas tout simple tout ca ^^
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 132
    Points : 47
    Points
    47
    Par défaut
    j'ai pensé à stocker mes requete dans un fichier texte mais il me faut un separateur entre les requetes pour que je puisse recuperer chaque requete:

    ficher requete.txt


    textreq1
    --
    textreq2
    --
    textreq3


    le separateur c'est la chaine '--'.

    qu'en pensez vous?

  5. #5
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    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 154
    Points : 25 072
    Points
    25 072
    Par défaut
    pas terrible ce séparateur

    de plus avec sql server (pas la version ce) tu peux mettre autant de requetes que tu veux dans la propriété commandtext (sans séparateur) et il les exécutent toutes à la suite
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  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 solitude Voir le message
    j'ai pensé à stocker mes requete dans un fichier texte mais il me faut un separateur entre les requetes pour que je puisse recuperer chaque requete:
    Bricolage et réinvention de l'eau tiède.

    Comme déjà dit, il existe :

    - les proc stoc
    - les vues

    Tout cela se stock au niveau de la base.
    Donc on comprend pas bein pour tu voudrais inventer un nouveau système faisant double emploi avec une méthode universelle et eprouvée.

    A moins que tu dois sous Sql CE, et, dans ce cas, bien sur c'est diffférent : pour ma part je stock dans ce contexte les requêtes dans un fichier XML.

    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
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 132
    Points : 47
    Points
    47
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    Bricolage et réinvention de l'eau tiède.

    Comme déjà dit, il existe :

    - les proc stoc
    - les vues

    Tout cela se stock au niveau de la base.
    Donc on comprend pas bein pour tu voudrais inventer un nouveau système faisant double emploi avec une méthode universelle et eprouvée.

    A moins que tu dois sous Sql CE, et, dans ce cas, bien sur c'est diffférent : pour ma part je stock dans ce contexte les requêtes dans un fichier XML.

    je ne veux pas creer pour chaque requete une procedure stockée
    en même temps je ne veux pas creer une seule procedure stockée pour
    executer toutes les requetes d'une seul coup.
    Je veux recuprer requete par requete et l'executer ( car il se peut que la requete echou, donc je dois traiter cet echec) puis passer à la requete suivante.

  8. #8
    Membre éclairé Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Points : 735
    Points
    735
    Par défaut
    tu peux exécuter plusieurs requêtes d'un coup et revenir en arrière si l'une d'entre elles échoue, en utilisant les transactions.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 132
    Points : 47
    Points
    47
    Par défaut
    Citation Envoyé par chamamo Voir le message
    tu peux exécuter plusieurs requêtes d'un coup et revenir en arrière si l'une d'entre elles échoue, en utilisant les transactions.
    oui mais dans ce cas meme si la requete echoux , je dois continuer les requetes suivantes.
    donc je ne dois pas utiliser une transaction puisque les requetes sont independantes.

  10. #10
    Membre éclairé Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Points : 735
    Points
    735
    Par défaut
    c'est possible avec les procédures stockées et les fonctions.

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 132
    Points : 47
    Points
    47
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    Bricolage et réinvention de l'eau tiède.

    Comme déjà dit, il existe :

    - les proc stoc
    - les vues

    Tout cela se stock au niveau de la base.
    Donc on comprend pas bein pour tu voudrais inventer un nouveau système faisant double emploi avec une méthode universelle et eprouvée.

    A moins que tu dois sous Sql CE, et, dans ce cas, bien sur c'est diffférent : pour ma part je stock dans ce contexte les requêtes dans un fichier XML.

    comment recuperer le format xml de ma table à partir de sqlsever

  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 solitude Voir le message
    comment recuperer le format xml de ma table à partir de sqlsever
    Le format XML de ta table ????? de quelle table ?

    Que veux tu dire ?

    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
    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 solitude Voir le message
    je ne veux pas creer pour chaque requete une procedure stockée
    Pourquoi ?

    en même temps je ne veux pas creer une seule procedure stockée pour
    executer toutes les requetes d'une seul coup.
    Pourquoi ?

    Je veux recuprer requete par requete et l'executer ( car il se peut que la requete echou, donc je dois traiter cet echec) puis passer à la requete suivante.
    Pourquoi ne pas utiliser les solutions qu'on te préconise ?
    Qu'est ce qui t'empêche de traiter tes conditions d'erreur dans la proc stoc ?

    Désolé, mais j'ai beaucoup de mal avec les réponses irrationnelles et la tienne rentre visiblement dans cette catégorie.

    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

  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 Pol63 Voir le message
    l'avantage de mettre ses requetes en base (dans une table ou autre) c'est qu'on peut les modifier sans recompiler l'exe
    Je relativiserais ton affirmation : elles n'est valable que pout les proc stoc en T/SQL. Pour celles en SQLCLR il faut compiler et redéployer l'assembly. (ok, cela ne concerne que Sql Server).

    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
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 132
    Points : 47
    Points
    47
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    Pourquoi ?



    Pourquoi ?



    Pourquoi ne pas utiliser les solutions qu'on te préconise ?
    Qu'est ce qui t'empêche de traiter tes conditions d'erreur dans la proc stoc ?

    Désolé, mais j'ai beaucoup de mal avec les réponses irrationnelles et la tienne rentre visiblement dans cette catégorie.
    je ne veux pas creer les procedure stockées pour ne pas charger sql server.

    et pour les erreurs, la procedure stockée sera appelé par un sqlcommand.
    est ce que je peux renvoyer l'erreur à partir de la requete stockée?
    Comment faire dans ce cas?

  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 solitude Voir le message
    je ne veux pas creer les procedure stockées pour ne pas charger sql server.


    Mais c'est ridicule comme affirmation !!! en quoi une proc stoc (qui sera précompilé) chargera plus le serveur de SGBD qu'une requête ?????

    et pour les erreurs, la procedure stockée sera appelé par un sqlcommand.
    est ce que je peux renvoyer l'erreur à partir de la requete stockée?
    Comment faire dans ce cas?
    Try catch dans le SQL et retour d'un paramètre d'erreur.
    Ceci dit, envisager à la base une erreur non récupérable dans la requête devrait te faire t'interroger sur ton design.

    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
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 132
    Points : 47
    Points
    47
    Par défaut
    Citation Envoyé par Bluedeep Voir le message


    Mais c'est ridicule comme affirmation !!! en quoi une proc stoc (qui sera précompilé) chargera plus le serveur de SGBD qu'une requête ?????



    Try catch dans le SQL et retour d'un paramètre d'erreur.
    Ceci dit, envisager à la base une erreur non récupérable dans la requête devrait te faire t'interroger sur ton design.
    oui mais je peux bien faire un try catch dans mon code C#

  18. #18
    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 solitude Voir le message
    oui mais je peux bien faire un try catch dans mon code C#
    Pour quelqu'un qui se préoccupe de "charge" il est un peu surprenant de vouloir faire transiter une situation d'erreur par le réseau plutôt que la traiter localement.

    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

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 132
    Points : 47
    Points
    47
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    Pour quelqu'un qui se préoccupe de "charge" il est un peu surprenant de vouloir faire transiter une situation d'erreur par le réseau plutôt que la traiter localement.
    oui mais le test de la connexion vers la base ne se fait pas localement

  20. #20
    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 solitude Voir le message
    oui mais le test de la connexion vers la base ne se fait pas localement
    Je te rappelle qu'on parle de l'exécution d'une requête pas de la connexion à la base qui est supposée établie à ce moment.

    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

Discussions similaires

  1. Automatiser une suite de requete sql server 2008
    Par nathantahiti dans le forum Développement
    Réponses: 2
    Dernier message: 08/09/2011, 18h36
  2. Realiser une connexion mysql et execute une requete
    Par Taz_8626 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/05/2006, 10h52
  3. Réponses: 13
    Dernier message: 21/04/2006, 15h39
  4. Executer une requete depuis un évènement
    Par Eric26 dans le forum Access
    Réponses: 3
    Dernier message: 31/03/2006, 14h47
  5. [VB.NET] Executer une requete à partir d'un DataSet...?
    Par anthony70 dans le forum Accès aux données
    Réponses: 3
    Dernier message: 12/07/2004, 14h17

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