У меня есть хранимая процедура, которая возвращает два набора записей, которые я вызываю с помощью GetReader. Я повторяю первое, вызываю IDataReader.NextResult (), затем повторяю второе.
Я присваиваю значения выходным параметрам в sp, но когда я проверяю значения после окончания чтения, мои выходные параметры равны нулю Похоже на ошибку. Я не хочу использовать выбор, так как я не люблю выдумки. Некоторые фрагменты ...
...
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);
(обратите внимание, что при этом или использовании AddOutputParameter () получаются те же результаты)
...
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
С нетерпением жду некоторых жемчужин мудрости:)