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 :

récupération de champs


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 151
    Par défaut récupération de champs
    Bonjour,

    j'ai :

    - une page ASP

    - bd sql server 2000

    dans une procédure stockée j'insère dans ma table un nouvel élément qui a

    un champs id(num auto)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    CREATE PROCEDURE proc1
    @nom varchar(20),
    @id int output
    AS
    INSERT INTO perso VALUES (@nom)
     
    SET
        @id= SCOPE_IDENTITY()
    GO
    le problème c'est que je n'arrive pas à récupérer le champs id dans ma page ASP.

    j'utilise comme provider sqloledb.

    j'ai vu des exemple :

    Parameters.Append.CreateParameter(....)

    mais ça n'a pas marché

    Merci pour vos aides

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    522
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 522
    Par défaut
    Salut,

    Quand tu dis "ça n'a pas marché", tu peux être plus précis ? Voilà une syntaxe qui fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Set mycommand= CreateObject("ADODB.Command")
    With objCmd
    .ActiveConnection = "ma_connexion"
    .CommandType = adCmdStoredProc
    .CommandText = "ma_procedure"
    .Parameters.Append objCmd.CreateParameter("@var", adInteger, adParamInput, , value)
    End With
    Set myrecordset = CreateObject("ADODB.Recordset")

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 151
    Par défaut
    Citation Envoyé par TekP@f Voir le message
    Salut,

    Quand tu dis "ça n'a pas marché", tu peux être plus précis ? Voilà une syntaxe qui fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Set mycommand= CreateObject("ADODB.Command")
    With objCmd
    .ActiveConnection = "ma_connexion"
    .CommandType = adCmdStoredProc
    .CommandText = "ma_procedure"
    .Parameters.Append objCmd.CreateParameter("@var", adInteger, adParamInput, , value)
    End With
    Set myrecordset = CreateObject("ADODB.Recordset")
    j'utilse SQLOLEDB comme provider. c'est quoi l'équivalent de Parameters.Append objCmd.CreateParameter("@var", adInteger, adParamInput, , value) dans ce cas

    Merci

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    522
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 522
    Par défaut
    Heu, ben c'est la même chose
    SQLOLEDB est ton provider, il suffit de bien paramétrer ta connexion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    .ActiveConnection = "Provider=sqloledb;..."
    Sinon, y'avait une coquille dans mon code (pble de copier/coller) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    With mycommand
    .ActiveConnection = "Provider=sqloledb;..."
    .CommandType = adCmdStoredProc
    .CommandText = "ma_procedure"
    .Parameters.Append mycommand.CreateParameter("@var", adInteger, adParamInput, , value)
    End With

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 151
    Par défaut récupération de la valeur retournée par une procédure stockée
    Bonjour,

    j'ai essayé de récupérer la valeur rendue par la procédure stockée mais ça ne marche plus.

    1- la procédure stockée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    CREATE PROCEDURE maproc
     
    @param integer  output
     
    AS
    INSERT INTO T1 VALUES ('aaa')
    SET  @param =SCOPE_IDENTITY()
    GO
    2-programme VB :

    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
     
     
    Public Function fct() As Integer
     
    Dim objCommand  As ADODB.Command
    Set objCommand = New ADODB.Command
    Dim parametre As ADODB.Parameter
     
     
     
    Set parametre = objCommand.CreateParameter("x",adInteger,adParamOutput)
     
        With objCommand
              .ActiveConnection = ADOConn
              .CommandType = adCmdStoredProc
              .CommandText = "maproc"
              .Parameters.Append (parametre)
              .Execute
        End With
     
        fct = objCommand.Parameters.Item("x").Value
     
     
        Set objCommand.ActiveConnection = Nothing
    End Function
    3-Page ASP :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Set obj = CreateObject("xxx.Classe")
    Dim param2
    param2= obj.fct("maproc")
    quand je fait

    alert("<%=param2%>") ça ne me donne rien. j'ai l'erreur : Un objet est requis

    c'est une erreur au niveau du programme vb.
    l'élément ne s'insère plus.

    Merci pour vos aides

  6. #6
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Par défaut
    Bonjour

    c'est de l'ASP3, du VB6 ou du VB.net ?


    N'oubliez pas de consulter les FAQ ASP et les cours et tutoriels ASP

    " La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
    (J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

    Chuck Norris comprend JC Van Damme.

  7. #7
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 151
    Par défaut
    Citation Envoyé par roro06 Voir le message
    Bonjour

    c'est de l'ASP3, du VB6 ou du VB.net ?
    C'est de l'ASP3 + VB6

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    522
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 522
    Par défaut
    Dans ton code VB, tu associes une variable nommée "x" alors que dans la proc. stockée, ta variable se nomme "@param".
    Mets le même nom pour qu'il puisse faire l'association.

    Sinon, je ne sais pas si cette syntaxe fonctionne. Moi, j'avais l'habitude de créer mon paramètre en associant directement une variable VB.

  9. #9
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 151
    Par défaut
    C'est résolu

    Merci beaucoup

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 13/03/2006, 14h30
  2. Récupération de champs
    Par lesparte dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 24/01/2006, 12h51
  3. Réponses: 16
    Dernier message: 17/06/2005, 15h51
  4. [JTextField] Récupération du champ
    Par cmoa59 dans le forum Composants
    Réponses: 3
    Dernier message: 22/04/2005, 10h24
  5. Récupération des champs d'un form dans un autre
    Par Crazyblinkgirl dans le forum ASP
    Réponses: 10
    Dernier message: 22/06/2004, 10h31

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