回 帖 发 新 帖 刷新版面

主题:datareader的问题

整个代码是这样的:
错误提示:已有打开的与此连接相关联的 DataReader,必须首先将它关闭。
应该如何修改
第一次:
                            conn.Open();
            cmd.CommandText="select * from [user]";
            listbox.DataSource=cmd.ExecuteReader();
            listbox.DataTextField="username";
            listbox.DataValueField="id";
            listbox.DataBind();
第二次:
  cmd.CommandText="select * from [user] where d=listbox.SelectedItem.Value";
        data_info.DataSource=cmd.ExecuteReader();
        data_info.DataBind();
        conn.Close();
我不知道如何关闭datareader

回复列表 (共1个回复)

沙发

你的第二次的代码中已经关闭了conn所以无需再关闭reader

如果你要关的话,注意这句data_info.DataSource=cmd.ExecuteReader();
它产生了一个DataReader
关闭就用DataReader实例.Close();即可

我来回复

您尚未登录,请登录后再回复。点此登录或注册