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

ASP.NET Discussion :

Appeler procedure stockée avec un parametre


Sujet :

ASP.NET

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 194
    Points : 74
    Points
    74
    Par défaut Appeler procedure stockée avec un parametre
    Bonjour,

    J'ai crée une procédure stockée qui prend en parametre un string et me renvois des informations sur ce paramétre.
    Le probleme est que je ne sais pas comment faire pour l'appeler dans une methode en vb.net que je connais que trés peu.

    Merci.

  2. #2
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    req = "nomprocedure [" & parametre & "]"
    Tu l'exécute comme tu le faisait avec une simple requête.

    @++

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 194
    Points : 74
    Points
    74
    Par défaut
    Oua c'est tout ???
    mais req est une variable de type string ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    String req as String
    req = "proced1["&test&"]"

    et cela va suffire à lancer l'execution?

  4. #4
    Membre confirmé Avatar de Redouane
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    435
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 435
    Points : 569
    Points
    569
    Par défaut
    Bonjour,

    en général, pour appeler une procédure stockée avec des paramètres en vb.net, c'est qlq chose comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Dim nomStoredProc As String = "Nom de ta procédure stockée"
     
        ' crée la commande
        Dim cmd As New OracleCommand(nomStoredProc)
        cmd.CommandType = CommandType.StoredProcedure
     
        ' paramètre à passer
        Dim p As OracleParameter = New OracleParameter("TonParametre", OracleDbType.Varchar2)
        cmd.Parameters.Add(p)
     
        ' tu peux ajouter d'autres paramètres si t'en a
        p = New OracleParameter("2emeParam", OracleDbType.Varchar2)
        cmd.Parameters.Add(p)
     
     
        ' rempli les valeurs
        cmd.Parameters("TonParametre").Value = OracleHelper.GetSqlString(Ta1ereValeurAPasser)
        cmd.Parameters("2emeParam").Value = OracleHelper.GetSqlString(Ta2emeValeurAPassermeParam)
    j'espère que ça va t'aider.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 194
    Points : 74
    Points
    74
    Par défaut
    oui beaucoup !!
    merci je vais tester sa

  6. #6
    Membre confirmé Avatar de Redouane
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    435
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 435
    Points : 569
    Points
    569
    Par défaut
    désolé, pour la fonction OracleHelper.GetSqlString, c'est en fait qlq chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     Public Function GetSqlString( _
            ByVal str As String _
            , Optional ByVal nullValue As String = Nothing _
            ) As Object
     
            If (str = nullValue) Then
                Return DBNull.Value
            End If
     
            Return str
        End Function

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 194
    Points : 74
    Points
    74
    Par défaut
    J'ai un probleme avec ma procedure stockée. Elle ne renvoit rien, pourtant j'ai suivi le tuto voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <script>
    Imports System
    Imports System.Data
    Imports System.Data.SqlClient
    Imports System.Data.SqlTypes
    Imports Microsoft.SqlServer.Server
     
     
    Partial Public Class StoredProcedures
        <Microsoft.SqlServer.Server.SqlProcedure()> _
        Public Shared Sub RecupLocation(ByVal name As String)
            ' Instanciation d'un objet SqlConnection
            Using maConnexion As New SqlConnection
     
                ' Instanciation de notre requête dans un objet SqlCommand
                Dim maCommande As SqlCommand = New SqlCommand(" SELECT Place_Location as Location, Place_Description as Description FROM Site, Place WHERE IDPlace = Site_IDPlace AND Site_Name = '" & name & "'", maConnexion)
                ' Ouverture de la connexion
                maConnexion.Open()
                ' Execution de la commande et renvoi du résultat
                SqlContext.Pipe.ExecuteAndSend(maCommande)
                ' Fermeture de la connexion
                maConnexion.Close()
     
                ' Fin du "Using", les ressources à l'intérieur du bloc "Using" vont être libérées
            End Using
     
        End Sub
    End Class
     
    </script>

  8. #8
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut
    Citation Envoyé par clouddd Voir le message
    Oua c'est tout ???
    mais req est une variable de type string ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    String req as String
    req = "proced1 ["&test&"]"

    et cela va suffire à lancer l'execution?
    oui
    en gros faut faire sa

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
             dim Conn As New SqlCommand            
             dim Read as SqlDataReader
             Cmd.CommandText = "proced1 ["&test&"]"
             Cmd..CommandType = CommandType.StoredProcedure
             Cmd.Connection = ObjetConnextion
             Reader = Cmd.ExecuteReader()
    @++

  9. #9
    Membre confirmé Avatar de Redouane
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    435
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 435
    Points : 569
    Points
    569
    Par défaut
    Citation Envoyé par clouddd Voir le message
    ' Instanciation d'un objet SqlConnection
    Using maConnexion As New SqlConnection

    ' Instanciation de notre requête dans un objet SqlCommand
    Dim maCommande As SqlCommand = New SqlCommand(" SELECT Place_Location as Location, Place_Description as Description FROM Site, Place WHERE IDPlace = Site_IDPlace AND Site_Name = '" & name & "'", maConnexion)
    ' ..... Traitement

    maConnexion.Close() ' Fin du "Using", les ressources à l'intérieur du bloc "Using" vont être libérées
    End Using
    </script>[/code]
    1- est ce que t'as testé ta requette ? et je pense que c'est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Place.Location .... From Site, Place WHERE IDPlace = Site.IDPlace AND Site.Name = '" & name.Trim() & "'", ...
    "." au lieu de "_", non ?!!

    2- pas la peine de faire maConnexion.Close(), t'as déjà utilisé le using, il ferme la connexion automatiquement.

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 194
    Points : 74
    Points
    74
    Par défaut
    Effectivement le connexion.close est inutile().
    Par contre à quoi sert la methode trim()??
    Et c'est bien Site_Name, en faite c'est le nom d'un champ de ma table.
    Désolé pour le retard

  11. #11
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut
    Citation Envoyé par clouddd Voir le message
    Effectivement le connexion.close est inutile().
    Par contre à quoi sert la methode trim()??
    trim() permet de supprimer tout les espaces blanc dans une chaine.


    @++

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 194
    Points : 74
    Points
    74
    Par défaut
    ok merci pour le trim.

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

Discussions similaires

  1. [PDO] Appel de procedure stockée avec php4
    Par mcdelay dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 28/12/2007, 10h18
  2. Procedure stockée avec Parametres complexes
    Par maxikat dans le forum SQL
    Réponses: 5
    Dernier message: 05/06/2007, 18h05
  3. procedure stockée avec saisie de parametre
    Par esthr dans le forum Oracle
    Réponses: 4
    Dernier message: 20/02/2007, 19h57
  4. Appel procedure stockée oracle avec php
    Par CYCLOPE91440 dans le forum Oracle
    Réponses: 17
    Dernier message: 09/02/2007, 10h08
  5. Procedure stockée avec un parametre en OUTPUT
    Par Nadaa dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/09/2004, 20h06

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