Моей хранимая процедура является простым однострочникомПочему я получаю «Неверную попытку прочитать, когда данных нет»?
CREATE PROCEDURE CheckIfFinished
@pid UNIQUEIDENTIFIER
AS
BEGIN
SELECT finished
FROM Partners
WHERE id = @pid
END
и я звоню его из моих C# код, как
using (SqlCommand cmd = new SqlCommand("CheckIfFinished", this._Conn))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@pid", pid);
this._Conn.Open();
using (SqlDataReader dataReader = cmd.ExecuteReader())
{
finished = dataReader.GetByte(0) == 1 ? true : false;
}
this._Conn.Close();
}
Колонна finished
в Partners
таблицы типа TINYINT NOT NULL DEFAULT 0
Ошибка трассировки стека
[InvalidOperationException:. Неверная попытка чтения, когда нет данных присутствует]
System.Data.SqlClient.SqlDataReader.CheckDataIsReady (Int32 ColumnIndex, Boolean allowPartiallyReadColumn, Boolean permitAsync, Строка имяМетода) +6531242
System.Data. SqlClient.SqlDataReader.TryReadColumn (Int32 я, булева SetTimeout, булева allowPartiallyReadColumn) +81
System.Data.SqlClient.SqlDataReader.ReadColumn (Int32 я, булева SetTimeout, булева allowPartiallyReadColumn) +25
System.Data.SqlClient. SqlDataReader.GetByte (Int32 i) +27
Survey.Models.SurveyDbModel.CheckIfFinished (Guid pid) +230
В каком месте я ошибаюсь?