首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 请教ADO.NET的问题 [已结贴,结贴人:xeqtrl982]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xeqtrl982
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 揭帖率:
    发表于:2008-08-23 18:14:32 楼主
    在ADO中
    在进行查询有结果集的数据时,可以很直接地
    1.先生成数据库连接
    2.生成RecordSet
    3.做查询,直接就可以遍历RecordSet了
    而用了ADO.NET后,就开始别扭了
    1.先生成数据库连接
    2.生成SqlDataAdapter
    3.生成DataSet
    4.将结果填充至DataSet
    直接查询后自动生成RecordSet,而不像ado.net那样!
    真想不通为什么不能把SqlDataAdapter与DataSet合并在一起呢?这样岂不是更方便?

    实在是太习惯用Delphi中的adoQuery了:(
    60  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Toww
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-23 18:38:561楼 得分:10
    ADO.NET中的DATASET 可以说是个微型的数据库,如果你习惯ADO那种RECORDSET 你可以用 SqlDataReader 这个类.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • liangpei2008
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-23 20:22:522楼 得分:0
    有同感
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • peachlee
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-23 20:38:233楼 得分:0
    DataSet是一种xml标准的数据原型,而SqlDataAdapter是一种适配器,有不mysql,oracle的,是聚合模式,概念不一样啊
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wjp_116
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-23 21:12:514楼 得分:10
    看来楼主还是没理解面向对象编程的思想,RecordSet是只读的,只能向前,而且基于连接的方式与数据库相连
    DataSet是内存中的数据库镜像,不用一直与数据库相连,支持许多RecordSet不支持的特性,他是与数据源无关的,
    这有利与代码的复用和维护(面向对象设计原则之一),对分层开发很方便
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • amandag
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 2

      5

    发表于:2008-08-23 21:20:075楼 得分:30
    这是设计模式的单一职责模式的体现,DataAdapter要和具体的数据库打交道,而DataSet则与具体的数据库无关,也就是这两个类职责不同,最好分开
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • hejialin666
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-28 09:53:156楼 得分:0
    引用 4 楼 wjp_116 的回复:
    看来楼主还是没理解面向对象编程的思想,RecordSet是只读的,只能向前,而且基于连接的方式与数据库相连
    DataSet是内存中的数据库镜像,不用一直与数据库相连,支持许多RecordSet不支持的特性,他是与数据源无关的,
    这有利与代码的复用和维护(面向对象设计原则之一),对分层开发很方便

    同意!高手呀!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jietuan
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-28 10:38:307楼 得分:10
    你可以理解Dataset 是一个数据库,把纪录从真正的数据库搬到内存里了;你可以在这个数据库里面做各种操作,比如生成xml,向前向后操作记录;保存临时纪录等等;而且它是无连接的,它填充数据以后,就可以立即断开数据connection
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved