0
在此代碼讀取器執行過程中顯示「Enumeration未得到任何結果」,並且該方法返回空模型。我不知道什麼是錯的SqlDataReader枚舉未產生任何結果
public UserModel GetUser(string email)
{
email = email.ToString();
var connection = OpenConnection();
var command = connection.CreateCommand();
command.CommandText = "select * from Users where UserName = @email;";
AddParameterString(command, "@email", email);
SqlDataReader reader = command.ExecuteReader();
UserModel model = new UserModel();
while (reader.Read())
{
model.ConfirmedEmail = Convert.ToBoolean(reader["ConfirmedEmail"]);
model.UserId = int.Parse(reader["userId"].ToString());
model.UserName = reader["UserName"].ToString();
model.UserEmail = reader["UserEmail"].ToString();
model.PasswordHash = reader["PasswordHash"].ToString();
model.PasswordSalt = reader["PasswordSalt"].ToString();
model.UserRole = reader["UserRole"].ToString();
}
return model;
}
}
protected void AddParameterString(SqlCommand command, string parameterName, string value)
{
var newParameter = command.CreateParameter();
newParameter.ParameterName = parameterName;
newParameter.DbType = System.Data.DbType.String;
newParameter.Value = value;
command.Parameters.Add(newParameter);
}
在'select'語句中顯式列出字段名稱。有可能是某些名稱錯誤輸入。 –
@AlexKudryashev枚舉沒有得到任何結果意味着讀者是空的。 – user3185569
'while(reader.Read())'意味着OP進入內部塊並且至少存在一行。 –