我到底该用DataReader还是DataSet?

taotao945 2011-05-14 09:06:09

本人初学ASP.NET做网站,遇到这样一个问题:
(我使用的是DataReader)在某项信息管理中,点击“详细信息”会弹出一个新窗口显示所有信息。但是当我更新信息后再点击“详细信息”发现里面的文本框并没有显示更新后的信息。事实上在数据库中可以发现信息确实是更新了。我在一本书上看到这样的话:DataReader不能对数据进行任何操作,例如把修改后的内容传送回数据库(不能通过DataReader更新数据源,一旦遍历完数据,就必须关闭DataReader,要再次访问数据,必须重新创建DataReader)。
当我用DataSet的方法试了后,点击“详细信息”,弹出的窗口里面的文本框居然全部为空!!!这是怎么回事啊?
到底该用DataReader还是DataSet啊?怎么用?求高人指点!
...全文
134 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
moonwrite 2011-05-14
  • 打赏
  • 举报
回复
懒可以DataSet
想好一点 List<T>.ToArray() + DataReader
天下在我心 2011-05-14
  • 打赏
  • 举报
回复
你用的是Datareader的话,也是需要重新建立读取一次就行。
数据更新,不管你用的什么数据源,都需要重新读取绑定这些操作.
dalmeeme 2011-05-14
  • 打赏
  • 举报
回复
如果你用DataSet的话,就重新执行一次Fill方法,填充数据表,然后再绑定或赋值。如果你用的是GridView之类的控件,就用
GridView1.DataSource=dt;
GridView1.DataBind();

如果用的是单个的TextBox控件,就直接将数据表中某行某列赋值给文本框就行了。
taotao945 2011-05-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 dalmeeme 的回复:]
DataReader只读、只进、快速、连线、占用内存很少;DataSet离线、占用内存较多。

你需要重新读取一次,然后重新绑定或赋值。
[/Quote]

怎么重新读取、绑定啊??我是刚学ASP.NET的菜鸟,不懂!麻烦高人详细解释下,不胜感激
dalmeeme 2011-05-14
  • 打赏
  • 举报
回复
DataReader只读、只进、快速、连线、占用内存很少;DataSet离线、占用内存较多。

你需要重新读取一次,然后重新绑定或赋值。
threenewbee 2011-05-14
  • 打赏
  • 举报
回复
DataSet就可以。出现错误应该是你代码问题。
taotao945 2011-05-14
  • 打赏
  • 举报
回复
求高人指点啊,自己顶一个

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧