我試圖使用參數化查詢與數據閱讀器,當我得到此錯誤消息「無效嘗試讀取時,沒有數據存在。」錯誤 - 「無數據存在時無效嘗試讀取」。雖然使用SQLDataReader即使數據存在
但數據是有讀者!
以下是代碼執行此任務的
using (ConnectionManager connectionManager = new ConnectionManager())
{
string query = @"SELECT * FROM LoginTab WHERE [email protected] " +
"AND [email protected]";
List<SqlParameter> sqlParameterCollection = new List<SqlParameter>();
sqlParameterCollection.Add(new SqlParameter("@username", SqlDbType.NVarChar) { Value = userName });
sqlParameterCollection.Add(new SqlParameter("@password", SqlDbType.NVarChar) { Value = password });
SqlDataReader sqlDataReader = connectionManager.ExecuteReader(query, CommandType.Text, sqlParameterCollection);
String roles = sqlDataReader[0].ToString();
return roles;
}
的ExecuteReader函數在另一個類中定義的線。
public SqlDataReader ExecuteReader(String strcmd, CommandType type, List<SqlParameter> Parametercollections)
{
connnection = new SqlConnection(Connnectionstring);
command = new SqlCommand(strcmd, connnection);
command.CommandType = type;
foreach (SqlParameter paras in Parametercollections)
{
command.Parameters.Add(paras);
}
try
{
connnection.Open();
reader = command.ExecuteReader();
}
catch (SqlException E)
{
}
finally
{
}
return reader;
}
這裏有什麼問題?
讀者定義在哪裏?這可能是一個範圍問題,或者讀者可能會在您嘗試閱讀時關閉它。 – Tim
不是解決方案,但應該刪除try/catch/finally,以便了解任何異常。 –