我得到这个错误关闭:解决错误:已经有一个用此命令相关联的打开的DataReader,必须首先
"There is already an open DataReader associated with this Command which must be closed first"
private readonly object _syncRoot = new object();
public void SqlConnect(string server, string db, string user, string pw)
{
lock (_syncRoot)
{
new_conn = new SqlConnection("Server=" + server + ";Database=" + db + ";User Id=" + user + ";Password=" + pw + ";");
new_conn.Open();
}
}
public string ReadString(string query)
{
string strResult = null;
using (SqlCommand command = new SqlCommand(query, new_conn))
{
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
strResult = Convert.ToString(reader[0]);
}
reader.Close();
}
}
return strResult;
}
我找不到什么是错的代码?
你为什么使用'lock'? –
你有没有其他使用'reader'的方法?这可能是你问题的原因。 – Ben
@Ben以及如果你谈论的读者方法它的自我你们也许串阅读器和其他一些狗屎 – KingDollar