这里是我的代码 -
using (SqlDataReader sqlDataReader = ExecuteReader(CommandType.StoredProcedure, StoredProcedures.AuthenticateUser, sqlParameter))
{
isAuthenticated = Convert.ToBoolean(sqlParameter[2].Value);
if (isAuthenticated)
{
if (sqlDataReader.Read())
{
User = new UserEntity();
DbHelper.GetEntity(sqlDataReader, User);
}
}
}
我总是将isAuthenticated
视为错误,因为sqlParameter[2].Value
始终为空,但是当我使用ExecuteNonQuery
执行查询时,它会给我值,但在这种情况下,我无法填写entity.suggest请。
答案 0 :(得分:0)
我相信在您阅读DataReader的所有结果之前,输出参数不可用。试试这个:
using (SqlDataReader sqlDataReader = ExecuteReader(CommandType.StoredProcedure,
StoredProcedures.AuthenticateUser, sqlParameter))
{
var newUser = new UserEntity();
if (sqlDataReader.Read())
{
DbHelper.GetEntity(sqlDataReader, User);
}
isAuthenticated = Convert.ToBoolean(sqlParameter[2].Value);
if (isAuthenticated)
{
User = newUser;
}
}