2011-09-07 1 views
0

Ceci est mon code de procédure d'appel:dotConnect et procédure d'appel avec le problème des paramètres

cmd.CommandText = "x.PROCEDURENAME"; 

cmd.Parameters["V_IID_DOKUMENT_PO"].Value = "1"; 
cmd.Parameters["x"].Value = x.Text; 
cmd.Parameters["x"].Value = x.Text; 
cmd.Parameters["x"].Value = x.Text; 
cmd.Parameters["x"].Value = Convert.ToInt32(x.Text); 
cmd.Parameters["x"].Value = x.Text; 
cmd.Parameters["x"].Value = x.Text; 
cmd.Parameters["x"].Value = x.Text; 
cmd.Parameters["x"].Value = x.Text; 
cmd.Parameters["x"].Value = "1"; 
cmd.ExecuteNonQuery(); 

mais je reçois

Un paramètre avec le nom « V_IID_DOKUMENT_PO » ne figure pas par cette collection Paramètres.

si je vérifie dans DB

PROCEDURE PROCEDURENAME 
(V_IID_DOKUMENT_PO IN NUMBER 
    ... 

ce que je fais mal?

Si je peux utiliser:

cmd.Parameters.Add("V_IID_DOKUMENT_PO", OracleDbType.Number, 1); 

i get instruction SQL invalide

+0

Avez-vous des erreurs seulement pour ce paramètre ou pour le reste? –

Répondre

1

Utilisation,

cmd.CommandType = System.Data.CommandType.StoredProcedure; 
cmd.Parameters.Add("V_IID_DOKUMENT_PO", OracleDbType.Number).Value=1; 
+0

maintenant je reçois à nouveau Invalid SQL déclaration – senzacionale

+1

Je voudrais discuter contre l'utilisation de ce - ce qui se passe est que ADO.NET doit maintenant ** deviner ** quel type de paramètres est. La plupart du temps, cette supposition est plutôt bonne - mais c'est encore une supposition et ça peut mal se passer (surtout si vous donnez la valeur 'DbNull.Value' ...) comment ADO.NET devrait-il savoir ** quoi? tapez ce paramètre sera ???). J'utiliserais ** toujours ** les 'Paramètres.Add (, DbType.XXXXX)' pour ** clairement ** définir quels sont les types de paramètres –

+1

@marc_s 100% D'accord! J'ai modifié mon message. – adatapost

2

Avez-vous préciser que c'est une procédure stockée que vous appelez ??

E.g. avez-vous cette ligne somewehre (votre exemple de code posté semble incomplet):

cmd.CommandType = CommandType.StoredProcedure; 
+0

non je n'ai pas eu ça. Je ne pouvais pas trouver cela dans l'exemple de dotConnect C#. THX – senzacionale

Questions connexes