【发布时间】:2012-01-24 02:34:21
【问题描述】:
1) 我有以下代码:
private static sqlDataReader gCandidateList = null;
public SqlDataReader myCandidateList
{
set
{
gCandidateList = value;
}
get
{
return gCandidateList;
}
}
2) 在FormA我有:
sqlConn.ConnectionString = mySettings.myConnString;
sqlConn.Open();
SqlCommand cmdAvailableCandidate = new SqlCommand(tempString, sqlConn);
SqlDataReader drAvailableCandidate = cmdAvailableCandidate.ExecuteReader();
mySettings.myCandidateList = drAvailableCandidate;
sqlConn.Close();
3) 在 FormB 中,我想重用保存在 myCandidatList 中的数据,所以我使用:
SqlDataReader drCandidate = mySettings.myCandidateList;
drCandidate.Read();
4) 然后我收到错误“读取器关闭时调用读取无效。”
5) 我在上面 (3) 中尝试了 mySettings.myCandidateList.Read() 并再次收到相同的错误消息。
6) 如何重新打开 SqlDataReader drCandidate 来读取数据?
7) 非常感谢您的建议和帮助。
【问题讨论】:
-
静态 DataReader 绝不是个好主意。
标签: c# sqldatareader