这是我参考的网址:http: //support.microsoft.com/kb/317559
我研究了他们的方法并应用了它们,一切都很好,直到我包含 2_2,错误消息:数据阅读器中没有当前查询。
我已经在 2_1 if 语句下关闭了我的 drSelect1_1。我需要关闭它,否则我无法创建一个新的。所以问题是,如何再次打开 drSelect1_1 以便我可以用于我的 2_2?我试图创建 drSelect1_1a 而不是使用 back drSelect1_1,出现错误:在调用 Read() 之前访问字段的尝试无效。有什么建议吗?代码如下:
cmdSelect.CommandText = "SELECT * FROM member WHERE username = @username";
connSelect.Open();
MySqlDataReader drSelect1_1 = cmdSelect.ExecuteReader();
if (drSelect1_1.Read())
{
//1_1
this.lbl1_1.Text = drSelect1_1["username"].ToString();
//2_1
if (drSelect1_1["direct1"].ToString() != "")
{
//this.ib2_1.Visible = true;
this.lbl2_1.Text = drSelect1_1["direct1"].ToString();
drSelect1_1.Close();
cmdSelect.CommandText = "SELECT * FROM member WHERE username = '" + this.lbl2_1.Text + "'";
MySqlDataReader drSelect2_1 = cmdSelect.ExecuteReader();
if (drSelect2_1.Read())
{
drSelect2_1.Close();
}
}
//2_2
if (drSelect1_1["direct2"].ToString() != "")
{
}
}
connSelect.Close();