




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VB程序设计与数据管理 杭州高级中学何杭广 1 主要内容 了解使用VB访问Access数据库的基本方法初步掌握通过ADO对象从数据库中获取数据的方法能够使用合适的算法处理从数据库中获取的数据 2 Windows7VisualBasic6 0Access2010 软硬件环境 VB与数据库连接方式 VisualBasic提供了比较丰富的数据访问技术 如ADO DAO RDO等 其中ADO ActiveXDataObjects ActiveX数据对象 是一种面向对象的编程接口 用以实现访问关系或非关系数据库中的数据 ADO对象是OLEDB的接口 它能完成DAO RDO所有的功能 4 ADO数据访问技术 5 一 ADO数据模型二 Connection对象及应用三 Command对象及应用四 Recordset对象及应用 一 ADO对象模型 ADO ActiveXDataObjects 数据库访问技术 采用OLEDB的数据访问模式 OLEDB和ODBC标准都是为了提供统一的访问数据接口 ODBC标准的对象是基于SQL的数据源 而OLEDB的对象则是范围更为广泛的任何数据存储 7 1 ADO对象模型组成 ADO数据模型定义了一个可编程的对象集合 主要由三个对象成员Connection Command Recordset和几个集合对象Errors Parameters Fields Properties组成 Connection对象完成链接功能 通过链接可以从应用程序中访问数据源 Command对象可以通过已建立的链接发出命令 对数据源进行指定的操作 Recordset对象查询命令的返回数据以行 记录 为单位存储在本地 这些数据的集合称为记录集 一条记录包含一个或多个字段 模型中用Field体现Recordset对象的字段 错误可能在应用程序中随时发生 通常是无法建立链接 执行命令等引起的 模型中用Error对象体现错误 8 ADO对象模型图 指定连接数据来源 发出命令信息从数据源获取所需数据 查询命令的返回的记录集 访问数据源时所返回的错误信息 与命令对象有关的参数 记录集中某个字段的信息 每个ADO对象都有一组惟一的属性 用来描述或控制对象 9 1 初始化COM库 引入ADO库定义文件 2 用Connection对象连接数据库 3 利用建立好的连接 通过Connection Command对象执行SQL命令 或利用Recordset对象取得结果记录集进行查询 处理 4 使用完毕后关闭连接释放对象 2 ADO对象基本操作流程 10 1 引入ADO库定义文件 在VB程序中使用ADO对象 必须先为当前工程引用ADO的对象库 方法 执行 工程 菜单中 引用 命令 弹出 引用 对话框 如图所示 单击 确定 选择该选项 不同环境下ADO的版本号可能不同 11 二 Connection对象 Connection用来创建到数据库建立连接 在建立连接时 最主要的是设置连接字符串 用来指定连接数据库所用的驱动程序 数据源名称 用户名和密码等 1 Connection对象的常用属性 1 ConnectionString属性ConnectionString连接字符串 用于建立连接数据源的信息 例 创建到数据库song accdb的链接 DimcnnAsNewADODB Connection New用于创建新对象cnn ConnectionString Provider Microsoft ACE OLEDB 12 0 DataSource App Path song accdb Provider定义数据源提供者 使用Microsoft ACE OLEDB 12 0可以访问Access2010数据 DataSource定义数据库的文件名 需指定绝对路径 App Path返回当前应用程序所在的绝对路径 12 2 State属性 返回Connection对象的状态 State属性的值如下表所示 例 判断链接的状态 cnn open 打开到数据库的链接Ifcnn State adStateOpenThenMsgBox 链接已打开 cnn Close 关闭到数据库的链接Ifcnn State adStateColsedThenMsgBox 链接已关闭 13 2 Connection对象的常用方法 1 Open方法 打开到数据源的连接 语法结构如下 Connection对象 OpenConnectionString UserID PassWord Options其中 Connection对象是已定义的Connection对象的实例 ConnectionString为可选项 是链接字符串 UserID为可选项 是访问数据库的用户名 PassWord为可选项 是密码 Options为可选项 是链接选项 如果设置了Connection对象的ConnectionString属性 Open方法就不需要设置参数了 2 Close方法 关闭到数据源的连接 3 Execute方法 在连接上执行一个SQL语句 4 Cancel方法 取消Open或Execute方法的调用 14 创建Connection对象connDimconnAsNewADODB Connection 链接数据库路径conn ConnectionString Provider Microsoft ACE OLEDB 12 0 DataSource App Path song accdb 打开到数据库的链接conn Open 判断链接的状态 如果conn处于打开状态 则显示 链接已成功打开 Ifconn State adStateOpenThenMsgBox 链接已成功打开 关闭到数据库的链接conn Close 判断链接的状态 如果conn处于关闭状态 则显示 链接已关闭 Ifconn State adstatecolsedThenMsgBox 链接已成功关闭 释放对象Setconn Nothing 15 二 Command对象 定义了将对数据源执行的命令 如创建 添加 取回 删除或更新记录等命令 使用命令对象来查询数据库 查询结果以数据集对象 Recordset 形式返回 命令对象在操纵数据库前需要与一个已经打开的连接对象 Connection 建立关联 1 Command对象的常用属性 1 ActiveConnection属性 设置到数据源的连接信息 通过设置该属性使打开的链接与Command对象关联 2 CommandText属性 定义命令 例如 SQL语句 的可执行文本 16 2 Command对象的常用方法 1 Execute方法 执行CommandText属性指定的查询 SQL语句或存储过程 2 Cancel方法 取消Execute方法的调用 例 Command对象应用示例 Command1按钮 17 注册 按钮事件代码 PrivateSubCommand1 Click DimconnAsNewADODB ConnectionDimcmdAsNewADODB CommandDimstrSQLAsStringconn ConnectionString Provider Microsoft ACE OLEDB 12 0 DATASource App Path users accdb strSQL INSERTINTOusers username userpsd VALUES Text1 Text2 cmd CommandText strSQLconn OpenSetcmd ActiveConnection conncmd Execute conn Close Setconn NothingEndSub 18 四 Recordset对象 Recordset对象表示从数据库返回的一系列记录的集合 一个Recordset对象由记录和列 字段 组成 通过Recordset可以对记录及组成记录的列进行各种操作 1 Recordset对象的常用属性 1 ActiveConnection属性 设置或返回Recordset对象所属的Connection对象 2 AbsolutePosition属性 指定Recordset对象中当前记录的序号位置 3 BOF属性 若当前的记录位置在第一条记录之前 则返回true 否则返回fasle EOF属性 若当前记录的位置在最后的记录之后 则返回true 否则返回fasle 19 4 RecordCount属性 返回Recordset对象中记录的当前数目 5 CursorType属性 设置或返回一个Recordset对象的游标类型 20 6 LockType属性 指定打开Recordset对象使用的锁定类型 其值如下表所示 7 Sort属性 设置排序字段 8 Filter属性 设置Recordset对象中的筛选条件 21 2 Recordset对象常用方法 1 AddNew方法 创建和初始化新记录 其语法为 Recordset对象 AddNewFieldList ValuesAddNew方法为记录集添加新记录后 需使用UpDate将所添加的数据存储到数据库中 2 Delete方法 删除当前记录或记录组 3 Move方法 移动Recordset对象中当前记录的位置 4 MoveFirst MoveLast MoveNext和MovePrevious方法 移动到指定Recordset对象中的第一条 最后一条 下一条或上一条记录 使该记录成为当前记录 5 Requery方法 重新执行对象所基于的查询 更新Recordset对象中的数据 6 Update方法 保存对Recordset对象当前记录所做修改 CancelUpdate方法 可取消对当前记录修改 22 7 Open方法 打开代表基本表 查询的结果或保存的Recordset中记录的游标 其语法如下 Recordset对象 OpenSource ActiveConnection CursorType LockType Options其中 Source为可选项 是记录源 可以是SQL语句 表名 存储过程等 ActiveConnection可选项 指定相应的Connection对象 可以是已打开的Connection对象的变量名或者是包含ConnectionString参数的字符串 CursorType可选项 指定打开Recordset对象使用的指针类型 23 Recordset对象应用示例 24 创建Connection对象connDimconnAsNewADODB Connection 创建Recordset对象rsDimrsAsNewADODB RecordsetDimstrSQLAsString tempAsStringDimmAsInteger nAsInteger 链接数据库路径conn ConnectionString Provider Microsoft ACE OLEDB 12 0 DataSource App Path song accdb 打开到数据库的链接conn Open 25 设置查询的SQL语句strSQL SELECT FROMsong 设置rs的ActiveConnection属性 指定与其关联的数据库链接Setrs ActiveConnection conn 设置游标类型rs CursorType adOpenStatic 设置锁定类型rs LockType adLockOptimistic 打开记录集 将从表song中读取的结果集保存到记录集rs中rs OpenstrSQL 26 List1 ClearList1 AddItem 班级评委1评委2评委3评委4评委5 Form 1Tors RecordCounttemp Forn 0Tors Fields Count 1temp temp Format rs Fields n 0 0 Space 5 NextnList1 AddItemtemprs MoveNextNextmrs CloseSetrs Nothing 输出所有记录 27 rs RecordCount是查询结果的记录总条数Form 1Tors RecordCountsum 0Forn 1Tors Fields Count 1score m n rs Fields n sum sum score m n Nextn 计算平均得分score m 6 Int sum 5 100 0 5 100 输出各班得分和平均得分temp rs Fields 0 Forn 1To6temp temp Space 3 Format score m n 0 00 NextnList1 AddItemtemp 向后移一条记录rs MoveNextNextm 统计平均得分 28 单表查询实例 29 第一条 按钮代码 PrivateSubCommand1 Click DimmAsInteger 移到第一条rs MoveFirstCommand1 Enabled FalseCommand2 Enabled FalseCommand3 Enabled TrueCommand4 Enabled TrueForm 0To5Text1 m rs Fields m NextmEndSub 30 前一条 按钮代码 PrivateSubCommand2 Click 向前移一条rs MovePreviousCommand3 Enabled TrueCommand4 Enabled TrueIfrs AbsolutePosition 1ThenCommand1 Enabled FalseCommand2 Enabled FalseEndIfForm 0To5Text1 m rs Fields m NextmEndSub 31 后一条 按钮代码 PrivateSubCommand3 Click 向后移一条rs MoveNextCommand1 Enabled TrueCommand2 Enabled TrueIfrs EOFThenCommand3 Enabled FalseCommand4 Enabled Falsers MoveLastElseForm 0To5Text1 m rs Fields m NextmEndIfEndSub 32 最后一条 按钮代码 PrivateSubCommand4 Click 移到最后一条rs MoveLastCommand4 Enabled FalseCommand3 Enabled FalseCommand1 Enabled TrueCommand2 Enabled TrueForm 0To5Text1 m rs Fields m NextmEndSub 33 SQL语言 34 SQL语言 SQL语言的原名 结构化查询语言 StructuredQueryLanguage 是对数据库操作的命令集合 通俗一点来说 SQL语言就是我们与数据库进行交流的一种语言 35 SQL功能 可以面向数据库执行查询 从数据库取回数据 可在数据库中插入新的纪录 可更新数据库中的数据 可从数据库删除记录 可创建新数据库 可在数据库中创建新表等 SQL常用语句SELECT 从数据库表中获取数据INSERTINTO 向数据库表中插入数据UPDATE 更新数据库表中的数据DELETE 从数据库表中删除数据 36 SELECT语句的基础用法 SELECT DISTINCT 目标列表达式1 AS别名 目标列表达式2 AS别名 FROM表名1 表名2 WHERE条件表达式 GROUPBY列名1 HAVING组条件表达式 ORDERBY列名2 ASC DESC 37 SQL语言例子 例如 用账号 C01 和密码 123 来登录某购物系统 整个验证过程是怎样的 38 假设数据库中 用户表 的结构如下 账号是username密码是userpwd 39 SQL语言中的Select语句 一般写法 Select字段1 字段2 from表where条件选出什么从哪里有什么条件问题 选出密码从用户表条件是C01账户Selectuserpwdfrom用户表whereusername C01 通过这句话 从数据库寻找用户名为 C01 的密码 如果找到可以进行密码验证 40 SELECT查询过程 查询杭州到南京的空调特快 数据库服务器 发送指令 返回结果 查询将产生一个虚拟表 称为 记录集 其中数据是从数据库现有表中过滤出来的 SELECT车次 出发站 到达站 出发时间 到达时间FROMtickets accdbWHERE出发站 杭州 AND到达站 南京 AND车次类型 特快 41 Access中SQL查询语句的执行环境 5 单击 运行 按钮 执行SQL语句 4 输入SQL语句 2 单击 关闭 按钮 1 打开一个Access数据库文件 单击 查询设计 按钮 3 单击 SQL视图 42 一 INSERT语句的功能及用法 二 UPDATE语句的功能及用法 三 DELETE语句的功能及用法 主要内容 插入数据 INSERT语句 INSERTINTO表名 字段1 字段N VALUES 表达式1 表达式N 功能 INSERT语句的功能是向数据表中插入新的记录 语法 字段与表达式必须成对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宁都钢质防火窗施工方案
- 架空建筑垃圾分类方案设计
- 中式建筑排版配色方案设计
- 在全县干部大会的主持词
- 地下室顶板渗漏处理方案
- 双层宴席厅建筑方案设计
- 2025年经济师初级考试 经济基础知识核心考点模拟试卷
- 贵州省茶产业发展现状研究
- 其他收入分享协议的注意事项
- 2025年北京市纪委市监委所属事业单位招聘8人笔试备考题库参考答案详解
- 人工智能算力中心项目技术方案
- 2025-2026学年北师大版(2024)小学数学三年级上册《综合实践:校园里的八个方向》教学设计
- GB/T 46238-2025淡水水下搜救机器人通用技术条件
- 快递分拣人力承包协议书
- 医疗损害责任界定-洞察及研究
- 创造性思维训练题库及答案
- 2025版施工合同主体变更与工程竣工结算协议
- 浙江省G12名校协作体2025学年第一学期9月高三上学期开学联考生物试卷
- 人民防空防护设备管理办法
- 2025年海南省社区工作者招聘考试笔试试题(含答案)
- 选矿技术基础知识培训课件
评论
0/150
提交评论