我得到這個錯誤關閉:解決錯誤:已經有一個用此命令相關聯的打開的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