网站大量收购闲置独家精品文档,联系QQ:2885784924

实验课 ADO编程.pptVIP

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验课 ADO编程

* 数据库中的数据,通过记录集对象Recordset来访问和修改。 ADO创建记录集的方法与其他对象一致: _RecordsetPtr pRecordset; pRecordset.CreateInstance( __uuidof(Recordset) ) ; 记录集对象通常作为Execute语句或者Command执行语句的返回值使用。 也可以直接通过Open方法,直接填入一个SQL语句,返回查询结果。与DAO方法类似。 * 记录集对象的Open方法,函数原型: HRESULT Open ( const _variant_t Source, //SQL语句 const _variant_t ActiveConnection, //连接对象指针 enum CursorTypeEnum CursorType, enum LockTypeEnum LockType, long Options) //注意:后4三个参数,按照实例设定即可 如下实例: * 遍历记录集:记录集可以看作一个数组,ADO提供了几种方法在记录集中移动指针,实现遍历。 MoveFirst:指向第一条记录 MoveLast:指向最后一条记录 MoveNext:向下移动一条 MovePrev:向上移动一条 Move:根据绝对索引号移动指针 稍后实例中即见使用方法 * 获取字段信息,看代码: * 获取记录集中的数据 记录集对象保存着“当前记录”的指针,因此使用记录集对象,要首先对要操作的记录定位。 定位后,访问一个记录中的对象有下面两种方式: 第一种:如果知道表中的具体字段名,访问方法: m_pRecordset-GetCollect(字段名); 第二种:如果不知道具体字段名,访问方法: m_pRecordset-Fields-Item[i]-Value; * 向记录集中添加数据:调用AddNew方法;设置各个字段值;调用Update方法更新数据库。 实例: * 删除记录集中的数据 根据索引删除数据,实例: * 编辑记录集中的数据 首先通过定位方法,找到某条记录,然后直接修改该记录中各个字段值即可。不再详述 查找数据库 不再详述 * 例程:W14_1_ADO Windows 程序设计 于东 2012上,第十四周 目标: 实现W14_1_ADO程序,使用ADO接口对Access数据库编程。完成后,尝试使用ODBC连接SQL数据库。 * 选择formview为基类 核心控件为ListCtrl 设置各种控件、变量、消息响应 * * 在stdafx.h中,添加代码: 在工程的InitInstanse函数中,添加代码: * * 在View类中添加ADO的3个核心类对象 添加其他变量m_DBFileName; //数据库文件名 long m_nColNum; //字段数量 添加函数: Connect2DB、 GetFiledInfo、 UpdateView、 DeleteItem 添加消息:WM_DESTROY,处理关闭消息 添加函数: PreTranslateMessage,处理del按钮事件 * 重载打开文件按钮 调用打开文件通用对话框,获取数据库名称 依次调用: Connect2DB(m_DBFileName); //连接到数据库 GetFiledInfo(); //获取表信息并显示 UpdateView(); //遍历表中所有记录并显示 * 根据数据库名称,连接数据库。 创建记录集,写一个SQL语句,通过open方法,获取数据库中所有记录。 * 判断数据库打开状态 定义字段对象数组, 获取字段数量,以及字段名称 清空当前ListCtrl所有内容和所有列 将字段信息填入到ListCtrl * 检查数据库状态 清空当前listctrl内容 判断当前记录集是否为空,如果不为空,则移动指针到第一条 遍历记录集,读取每条数据,显示在list中 * 检查数据库状态 检查控件输入是否完整,用“NULL”将不完整部分补足 向当前记录集中添加一条记录。 调用update方法,将记录集更新到数据库 * 在PreTranslateMessage中,响应按纽事件,判断:如果按钮为del键,并且当前listctrl控件为“焦点控件”,则调用deleteitem 在DeleteItem中,获取当前list中选中的条目,在全局记录集中删除对应的条目,更新记录集 这里有一个bug:当list显示的是查找结果时,会错删。解决方法:在view类中定义一个“查找结果”记录集对象。并判断当前显示的是查找结果记录集还是全局记录集。 * 定

文档评论(0)

qianqiana + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5132241303000003

1亿VIP精品文档

相关文档