本人初学ASP.NET做网站,遇到这样一个问题: 
  (我使用的是DataReader)在某项信息管理中,点击“详细信息”会弹出一个新窗口显示所有信息。但是当我更新信息后再点击“详细信息”发现里面的文本框并没有显示更新后的信息。事实上在数据库中可以发现信息确实是更新了。我在一本书上看到这样的话:DataReader不能对数据进行任何操作,例如把修改后的内容传送回数据库(不能通过DataReader更新数据源,一旦遍历完数据,就必须关闭DataReader,要再次访问数据,必须重新创建DataReader)。
   当我用DataSet的方法试了后,点击“详细信息”,弹出的窗口里面的文本框居然全部为空!!!这是怎么回事啊?
   到底该用DataReader还是DataSet啊?怎么用?求高人指点!

解决方案 »

  1.   

    DataSet就可以。出现错误应该是你代码问题。
      

  2.   

    DataReader只读、只进、快速、连线、占用内存很少;DataSet离线、占用内存较多。你需要重新读取一次,然后重新绑定或赋值。
      

  3.   


    怎么重新读取、绑定啊??我是刚学ASP.NET的菜鸟,不懂!麻烦高人详细解释下,不胜感激
      

  4.   

    如果你用DataSet的话,就重新执行一次Fill方法,填充数据表,然后再绑定或赋值。如果你用的是GridView之类的控件,就用
    GridView1.DataSource=dt;
    GridView1.DataBind();如果用的是单个的TextBox控件,就直接将数据表中某行某列赋值给文本框就行了。
      

  5.   

    你用的是Datareader的话,也是需要重新建立读取一次就行。
    数据更新,不管你用的什么数据源,都需要重新读取绑定这些操作.
      

  6.   

    懒可以DataSet
    想好一点 List<T>.ToArray() + DataReader