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 6 et antérieur Discussion :

Requête paramétrée avec ADODB


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de abelman
    Inscrit en
    Février 2003
    Messages
    1 106
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 1 106
    Par défaut Requête paramétrée avec ADODB
    Bonjour.

    J'essaie de faire une requête paramétrée avec ADODB.Command sur une base de données SQL Server 2000.

    J'ai l'erreur <'Must declare the variable '@tra_unique_id'.> à la ligne .Execute
    en .NET ça marche comme ça. et en VB6??

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
        Dim lngRecordsAffected      As Long
        Dim command                 As ADODB.command
        Dim param                   As ADODB.Parameter
     
        Set command = New ADODB.command
     
        With command
            .ActiveConnection = db
            .CommandType = adCmdText
            .CommandText = "INSERT INTO risk_tms_trade (tra_unique_id, tra_exg_ref, tra_exg_sub_ref, tra_type, tra_buy, tra_vol, tra_mar_ref, tra_env, " & _
                           "tra_floor, tra_ctr_ref, tra_ctr_ver, tra_call, tra_expiry, tra_strike, tra_price, tra_member, tra_cpty, tra_broker, tra_input_date, " & _
                           "tra_input_time, tra_exg_date, tra_exg_time, tra_clear_date, tra_gutu_msg, tra_match_msg, tra_status, tra_sub_status, tra_internal_status, " & _
                           "tra_match_order, tra_trader, tra_trading_env, tra_trading_type) " & _
                           "VALUES (@tra_unique_id, @tra_exg_ref, @tra_exg_sub_ref, @tra_type, @tra_buy, @tra_vol, @tra_mar_ref, @tra_env, " & _
                           "@tra_floor, @tra_ctr_ref, @tra_ctr_ver, @tra_call, @tra_expiry, @tra_strike, @tra_price, @tra_member, @tra_cpty, @tra_broker, @tra_input_date, " & _
                           "@tra_input_time, @tra_exg_date, @tra_exg_time, @tra_clear_date, @tra_gutu_msg, @tra_match_msg, @tra_status, @tra_sub_status, @tra_internal_status, " & _
                           "@tra_match_order, @tra_trader, @tra_trading_env, @tra_trading_type) "
     
        '** TODO: Recuperer les tailles des champs de manière dynamique
            Set param = .CreateParameter("@tra_unique_id", adVarChar, Size:=100, Value:=Trim$(riskTrade.tra_unique_id))
            Call .Parameters.Append(param)
     
            Set param = .CreateParameter("@tra_exg_ref", adVarChar, Size:=20, Value:=Trim$(riskTrade.tra_exg_ref))
            Call .Parameters.Append(param)
     
            Set param = .CreateParameter("@tra_exg_sub_ref", adVarChar, Size:=20, Value:=Trim$(riskTrade.tra_exg_sub_ref))
            Call .Parameters.Append(param)
     
            Set param = .CreateParameter("@tra_type", adVarChar, Size:=10, Value:=Trim$(riskTrade.tra_type))
            Call .Parameters.Append(param)
     
            Set param = .CreateParameter("@tra_buy", adVarChar, Size:=1, Value:=Trim$(riskTrade.tra_buy))
            Call .Parameters.Append(param)
     
            Set param = .CreateParameter("@tra_vol", adInteger, Value:=riskTrade.tra_vol)
            Call .Parameters.Append(param)
     
            Set param = .CreateParameter("@tra_mar_ref", adVarChar, Size:=8, Value:=Trim$(riskTrade.tra_mar_ref))
            Call .Parameters.Append(param)
     
            Set param = .CreateParameter("@tra_env", adVarChar, Size:=10, Value:=Trim$(riskTrade.tra_env))
            Call .Parameters.Append(param)
     
            Set param = .CreateParameter("@tra_floor", adSmallInt, Value:=riskTrade.tra_floor)
            Call .Parameters.Append(param)
     
            Set param = .CreateParameter("@tra_ctr_ref", adVarChar, Size:=12, Value:=Trim$(riskTrade.tra_ctr_ref))
            Call .Parameters.Append(param)
     
            Set param = .CreateParameter("@tra_ctr_ver", adVarChar, Size:=3, Value:=Trim$(riskTrade.tra_ctr_ver))
            Call .Parameters.Append(param)
     
            Set param = .CreateParameter("@tra_call", adVarChar, Size:=1, Value:=Trim$(riskTrade.tra_call))
            Call .Parameters.Append(param)
     
            Set param = .CreateParameter("@tra_expiry", adVarChar, Size:=8, Value:=Trim$(riskTrade.tra_expiry))
            Call .Parameters.Append(param)
     
            Set param = .CreateParameter("@tra_strike", adDouble, Value:=riskTrade.tra_strike)
            Call .Parameters.Append(param)
     
            Set param = .CreateParameter("@tra_price", adDouble, Value:=riskTrade.tra_price)
            Call .Parameters.Append(param)
     
            Set param = .CreateParameter("@tra_member", adVarChar, Size:=12, Value:=Trim$(riskTrade.tra_member))
            Call .Parameters.Append(param)
     
            Set param = .CreateParameter("@tra_cpty", adVarChar, Size:=12, Value:=Trim$(riskTrade.tra_cpty))
            Call .Parameters.Append(param)
     
            Set param = .CreateParameter("@tra_broker", adVarChar, Size:=12, Value:=Trim$(riskTrade.tra_broker))
            Call .Parameters.Append(param)
     
            Set param = .CreateParameter("@tra_input_date", adVarChar, Size:=8, Value:=Trim$(riskTrade.tra_input_date))
            Call .Parameters.Append(param)
     
            Set param = .CreateParameter("@tra_input_time", adVarChar, Size:=6, Value:=Trim$(riskTrade.tra_input_time))
            Call .Parameters.Append(param)
     
            Set param = .CreateParameter("@tra_exg_date", adVarChar, Size:=8, Value:=Trim$(riskTrade.tra_exg_date))
            Call .Parameters.Append(param)
     
            Set param = .CreateParameter("@tra_exg_time", adVarChar, Size:=10, Value:=Trim$(riskTrade.tra_exg_time))
            Call .Parameters.Append(param)
     
            Set param = .CreateParameter("@tra_clear_date", adVarChar, Size:=8, Value:=Trim$(riskTrade.tra_clear_date))
            Call .Parameters.Append(param)
     
            Set param = .CreateParameter("@tra_gutu_msg", adVarChar, Size:=20, Value:=Trim$(riskTrade.tra_gutu_msg))
            Call .Parameters.Append(param)
     
            Set param = .CreateParameter("@tra_match_msg", adVarChar, Size:=20, Value:=Trim$(riskTrade.tra_match_msg))
            Call .Parameters.Append(param)
     
            Set param = .CreateParameter("@tra_status", adVarChar, Size:=10, Value:=Trim$(riskTrade.tra_status))
            Call .Parameters.Append(param)
     
            Set param = .CreateParameter("@tra_sub_status", adVarChar, Size:=10, Value:=Trim$(riskTrade.tra_sub_status))
            Call .Parameters.Append(param)
     
            Set param = .CreateParameter("@tra_internal_status", adVarChar, Size:=10, Value:=Trim$(riskTrade.tra_internal_status))
            Call .Parameters.Append(param)
     
            Set param = .CreateParameter("@tra_match_order", adVarChar, Size:=30, Value:=Trim$(riskTrade.tra_match_order))
            Call .Parameters.Append(param)
     
            Set param = .CreateParameter("@tra_trader", adVarChar, Size:=20, Value:=Trim$(riskTrade.tra_trader))
            Call .Parameters.Append(param)
     
            Set param = .CreateParameter("@tra_trading_env", adVarChar, Size:=12, Value:=Trim$(riskTrade.tra_trading_env))
            Call .Parameters.Append(param)
     
            Set param = .CreateParameter("@tra_trading_type", adVarChar, Size:=12, Value:=Trim$(riskTrade.tra_trading_type))
            Call .Parameters.Append(param)
     
            lngRecordsAffected = -1
            Call .Execute(lngRecordsAffected, .Parameters)
     
        End With
     
        Set command = Nothing
        RiskTradeInsert = lngRecordsAffected

  2. #2
    Rédacteur
    Avatar de abelman
    Inscrit en
    Février 2003
    Messages
    1 106
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 1 106
    Par défaut
    Bon c'est résolu de la manière suivante.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
            .CommandText = "INSERT INTO risk_tms_trade (tra_unique_id, tra_exg_ref, tra_exg_sub_ref, tra_type, tra_buy, tra_vol, tra_mar_ref, tra_env, " & _
                           "tra_floor, tra_ctr_ref, tra_ctr_ver, tra_call, tra_expiry, tra_strike, tra_price, tra_member, tra_cpty, tra_broker, tra_input_date, " & _
                           "tra_input_time, tra_exg_date, tra_exg_time, tra_clear_date, tra_gutu_msg, tra_match_msg, tra_status, tra_sub_status, tra_internal_status, " & _
                           "tra_match_order, tra_trader, tra_trading_env, tra_trading_type) " & _
                           "VALUES (?, ?, ?, ?, ?, ?, ?, ?, " & _
                           "?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, " & _
                           "?, ?, ?, ?, ?, ?, ?, ?, ?, " & _
                           "?, ?, ?, ?) "
    Je ne peux apparament pas nommer les paramètres dans la requête. En plus j'ai enlevé aussi le @ dans le nom des paramètres lors de leur création.
    Est ce que quelqu'un peut dire si il y a moyen de faire autrement?

    Merci

Discussions similaires

  1. Réponses: 7
    Dernier message: 11/10/2006, 13h35
  2. Requète paramétrée avec résultat variable
    Par slackjayo dans le forum Access
    Réponses: 2
    Dernier message: 28/04/2006, 20h39
  3. Requête Paramétrée avec DropDownList
    Par kirgan dans le forum Access
    Réponses: 2
    Dernier message: 24/04/2006, 16h22
  4. [WD8] Requêtes paramétrées avec accès odbc direct
    Par devalender dans le forum WinDev
    Réponses: 5
    Dernier message: 20/12/2005, 12h25
  5. Déterminer une requête paramétrée avec LIKE
    Par priest69 dans le forum Access
    Réponses: 4
    Dernier message: 24/10/2005, 19h29

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