J'ai une procédure stockée qui renvoie deux jeux d'enregistrements que j'appelle à l'aide de GetReader. Je répète le premier, appelle IDataReader.NextResult(), puis répète le second.Processus stocké Paramètre de sortie + Sélection du paramètre de sortie non renvoyé
J'attribue des valeurs aux paramètres de sortie dans le sp, mais lorsque je vérifie les valeurs après avoir terminé avec mon lecteur, mes paramètres de sortie sont NULL. On dirait un bug. Je ne veux pas utiliser un select car je n'aime pas les fudges. Quelques extraits ...
...
sp.Command.AddParameter("@SelectedTabID", selectedTabID, DbType.Int32);
sp.Command.AddParameter("@CurrentTabID", 0, DbType.Int32, ParameterDirection.Output);
sp.Command.AddParameter("@TypeID", 0, DbType.Int32, ParameterDirection.Output);
(note le faire de cette façon ou en utilisant AddOutputParameter() donne même résultat)
...
using(IDataReader reader = sp.GetReader())
{
while (reader.Read()) {...}
if (reader.NextResult()) {while (reader.Read()) {...}}
}
..
int one = (int)sp.OutputValues[0]; //null expected an int
int two = (int)sp.OutputValues[1]; //null expected an int
Looki ng avec impatience quelques joyaux de la sagesse :)
Quels SGBDR, SQL Server, Oracle, DB2, MySQL,. . . ? –
SQL Server 2005 avec Subsonic –