2010-07-15 6 views
0

J'ai une procédure stockée que je ne peux pas à partir de mon code C#. Je passe quelques paramètres que je mets d'abord dans un HashTable. Il ressemble à ça:Appel d'une procédure stockée avec des paramètres null et SqlDataAdapter

paramName1 valeur1
paramName2 valeur2
paramname3 value3

une quelconque des valeurs peut être nulle. Alors maintenant, je vais à travers ce hachage et ajouter les params à l'adaptateur:

foreach (DictionaryEntry entry in myHash) 
{ 
    adapter.SelectCommand.Parameters.AddWithValue(entry.Key.ToString(), entry.Value); 
} 

Cela fonctionne, mais lorsque je tente de remplir un DataSet, il échoue:

DataSet reportDataSet = new DataSet(); 
adapter.Fill(reportDataSet); 

Le message d'erreur est que il se plaint d'un paramètre de procédure manquant. Des idées?

Merci :-)

+0

Veuillez décrire la déclaration de procédure stockée. – garik

Répondre

1

Je pense que vous devez vérifier si son null et le mettre à DBNull.Value au lieu de null sinon il pense que le paramètre est absent car il a une valeur null.

+0

Oui, exactement! Merci!! – grady

Questions connexes