




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第13章数据库操作 本章要点 ADO控件数据绑定控件ADO对象 数据库功能 数据的组织 数据的管理数据的组织 数据库 DataBase DB 以一定方式组织并存储在一起的相互有关的数据的集合 按组织方式的不同 分为三种模型 即 关系数据库 层次数据库 网状数据库 数据的管理 数据库管理系统 DBMS 用户与数据库之间的接口 提供对数据库使用和加工的操作 如对数据库的建立 修改 检索 计算 统计 删除等 VB可以处理多种数据库 如Access FoxPro DataBase Excel Paradox等格式的数据库 数据库基本概念 一 关系数据库的有关概念 数据库基本概念 1 关系 表 在关系数据库中 数据以关系的形式出现 可以把关系理解成一张二维表 Table 2 关系数据库将数据存储在一些二维表中 然后通过建立各表之间的关系来定义数据库的结构 一个数据库通常包含多个数据表 例 学生 mdb 数据库 1 学生基本信息 表 数据库基本概念 2 专业 表 3 系 表以上三个表构成一个数据库 学生基本信息 表与 专业 表通过 专业编号 建立关系 专业 表与 系 表通过 系编号 建立关系 3 记录 行 每张二维表均由若干行和列构成 其中每一行称为一条记录 Record 4 字段 列 二维表中的每一列称为一个字段 Field 每一列均有一个名字 称为字段名 各字段名互不相同 数据库基本概念 数据库基本概念 例 上面的数据库中表的结构 5 主键关系数据库中的某个字段或某些字段的组合定义为主键 PrimaryKey 每条记录的主键值都是唯一的 这就保证了可以通过主键唯一标识一条记录 6 索引为了提高数据库的访问效率 表中的记录应该按照一定顺序排列 通常建立一个较小的表 索引表 该表中只含有索引字段和记录号 通过索引表可以快速确定要访问记录的位置 7 表间的关联按照某一个公共字段建立的一个表中记录同另一个表中记录之间的关系 有一对一 一对多 或多对一 多对多关系 二 VB数据库访问技术的发展1 客户 服务器的概念使用客户 服务器是当今数据库开发的主流 客户 服务器模式是从模块化程序设计的基础上发展过来的 它允许模块可以不在同一个存储空间中运行 在该体系结构中 调用模块就成为客户 Client 的一个请求 而被调用的模块就为服务器 Server 提供请求 数据库基本概念 客户 服务器的逻辑扩展是让客户程序和服务器程序各自运行于相应的软件平台上 它们各负其责相互协调地为一个应用程序服务 实际应用中 把数据库的前端放在客户机上 后端的数据库管理系统放在服务器上 2 数据访问对象模型在VB中 要对数据库进行访问 需要通过数据访问对象进行 数据访问对象包括 DAO DataAccessObject 数据访问对象 RDO RemoteDataObject 远程数据对象 ADO ActiveXDataObject ActiveX数据对象ADO是DAO RDO的后继产物 它扩展了DAO和RDO所使用的对象模型 包含较少的对象 更多的属性 事件和方法 通过ADO可以访问各种各样的数据源 3 结构化查询语言 SQL SQL StructuredQueryLanguage实现对数据库的检索 排序 统计 修改等多种操作 数据库基本概念 1 Select语句格式 Select ALL DISTINCT From Where OrderBy ASC DESC 功能 从指定的表中选出满足条件的记录 记录中包含指定的字段 ALL 缺省值 显示查询到的所有记录 DISTINCT 在显示查询结果中如果有多个相同的记录 只取其中的一个 使用DISTINCT可以保证查询结果每一条记录的唯一性 指出所要查询的表 可以指定多个表 各表名之间用逗号隔开 指出查询的条件 指明要在查询结果中包含的字段名 具体形式为 表名 字段名 各项之间用逗号隔开 如果选择所有字段 则不用一一列出字段名 只需写成 表名 将查询结果按该字段排序 ASC 指定按升序排序 ESC 指定按降序排序 SQL语句 例 选出学生基本信息表中所有男生记录 查询结果只包括班级 学号和姓名字段 Select学生基本信息 班级 学生基本信息 学号 学生基本信息 姓名From学生基本信息Where学生基本信息 性别 男 对于单个表的查询 可以省去各字段名前面的表名 以上Select语句可以简写成 Select班级 学号 姓名From学生基本信息Where性别 男 例 显示学生基本信息表中男生的所有信息 Select From学生基本信息Where性别 男 例 显示所有学生的学号 姓名和所在专业名 系名 Select学生基本信息 学号 学生基本信息 姓名 专业 专业名称 系 系名From学生基本信息 专业 系Where学生基本信息 专业编号 专业 专业编号And专业 系编号 系 系编号 SQL语句 2 Insert语句格式 insert into 表 字段列表 values 插入记录的数据 或insert into 表SQL语句功能 添加记录例 设新建一个 新系 表 包括 系编号 系名 InsertInto系Select系编号 系名From新系Where新系 系编号 005 表示从 新系 表中选择系编号为005的记录 并将其添加到 系 表中 InsertInto系Select系编号 系名From新系表示从 新系 表中选择所有记录 并将其添加到 系 表中 InsertInto新系 系编号 系名 Values 007 城市建设 表示向 新系 表中添加一条新记录 系编号字段值为 007 系名字段值为 城市建设 SQL语句 3 Delete语句格式 deleteform表 where条件 功能 从一个或多个表中删除指定的记录 例 DeleteFrom新系Where系编号 005 表示从 新系 表中删除所有系编号大于 005 的记录 4 Update语句格式 update表set新值 where条件 功能 更改表中一个或多个行的列值 例 设在某 职工工资 数据表中包含 姓名 性别 基本工资 奖金 实发工资 字段 给所有女职工增加2 的奖金 使用语句 Update职工工资Set基本工资 基本工资 1 02Where性别 女 在增加奖金之后计算实发工资 使用语句 Update职工工资Set实发工资 基本工资 奖金 SQL语句 数据控件 Data控件和ADO控件 用来建立与数据库的关联 并确定记录集类型 利用Data控件和ADO控件可以对数据库中的数据进行操作 却不能显示数据库中的数据 数据绑定控件 用于显示由数据控件所确定的记录集中的数据 数据绑定控件 数据控件和数据库之间的关系如下 数据控件和数据绑定控件 一 ADO控件1 添加方法 工程 部件 MicrosoftADODataControl6 0 ADO控件经常使用两种数据源 ODBC数据源和连接字符串 2 常用属性 1 Connectionstring属性 用来建立到数据源的连接信息 例 Provider Microsoft Jet OLEDB 3 51 PersistSecurityInfo False DataSource D mydb 学生 mdb 2 RecordSource属性 用于确定具体可以访问的数据 这些数据构成了记录集对象Recordset 该属性值可以是一个表名称 一个存储查询或一个查询字符串 3 Recordset属性 由ADO控件所确定的记录集对象 3 常用方法 1 Refresh方法 当数据源发生变化时 可以使用Refresh方法来打开或重新打开数据库 数据控件和数据绑定控件 二 Recordset对象的属性与方法ADO控件的Recordset属性实际上是一个对象 Recordset对象 因此有其属性和方法 1 常用属性 1 BOF EOF属性 当前记录在最后一个记录之后时 EOF值为True 当前记录在第一个记录之前时 BOF值为True 2 RecordCount属性 指示当前记录的总数 3 Fields属性 Fields属性是一个集合 集合中包含所有Field 字段 对象 每个Field对象对应于Recordset中的一列 使用Field对象的Value属性可设置或返回当前记录的数据 例 在窗体上显示当前记录的 姓名 字段的内容 PrintAdodc1 Recordset Fields 姓名 Value例 将当前记录的 班级 字段改成 计算机1班 Adodc1 Recordset Fields 班级 Value 计算机1班 或简写成 Data1 Recordset Fields 班级 计算机1班 数据控件和数据绑定控件 2 常用方法 1 MoveFirst方法 将当前行记录指针移到第一条记录MoveLast方法 将当前行记录指针移到最后一条记录MoveNext方法 将当前行记录指针移到前一条记录MovePrevious方法 将当前行记录指针移到后一条记录 2 AddNew方法 在记录集中添加一条新记录 例 给 学生基本信息 表添加一条新记录 Adodc1 Recordset AddNewAdodc1 Recordset Fields 学号 980010104 Adodc1 Recordset Fields 姓名 刘小波 Adodc1 Recordset Fields 班级 计98 01 Adodc1 Recordset Fields 性别 男 Adodc1 Recordset Fields 专业编号 001 Adodc1 Recordset Fields 出生日期 1 23 1980 Adodc1 Recordset Update 数据控件和数据绑定控件 4 Update方法 保存对Recordset对象的当前记录所做的所有更改 5 Delete方法 删除当前记录 删除当前记录后 在移动到其他记录之前已删除的记录将保持为当前状态 一旦离开已删除记录 则无法再次访问它 数据控件和数据绑定控件 三 数据绑定控件要使数据绑定控件能够显示数据库记录集中的数据 必须首先在设计时或在运行时设置这些控件的两个属性 1 DataSource属性 返回或设置一个数据源 通过该数据源 数据绑定控件被绑定到一个数据库 2 DataField属性 返回或设置数据绑定控件将被绑定到的字段名 例 利用 学生 数据库中的数据 用文本框显示 学生基本信息 表中的班级 学号 姓名 性别 使用命令按钮实现记录的向前 向后移动 数据控件和数据绑定控件 Text1 Text2 Text3 Text4 Adodc1 PrivateSubCommand1 Click 上一个 按钮功能Command2 Enabled TrueIfAdodc1 Recordset BOFThenCommand1 Enabled FalseCommand2 SetFocusElseAdodc1 Recordset MovePreviousEndIfEndSubPrivateSubCommand2 Click 下一个 按钮功能Command1 Enabled TrueIfAdodc1 Recordset EOFThenCommand2 Enabled FalseCommand1 SetFocusElseAdodc1 Recordset MoveNextEndIfEndSub 数据控件和数据绑定控件 一 ADO对象模型使用ADO对象之前 首先要向当前工程添加ADO的对象库 添加方法 工程 引用 打开 引用 对话框 选择 MicrosoftActiveXDataObject2 0Library 选项 ADO对象模型定义了一个可编程的分层对象集合 如下图所示 使用ADO访问数据 1 Connection对象Connection对象用于连接数据源 例 使用以下语句连接并打开一个Access数据库 学生 mdb 建立一个Connection对象MyconDimMyconAsNewADODB Connection 定义Mycon对象的ConnectionString属性Mycon ConnectionString provider MicrosoftjetOLEDB3 51 datasource D mydb 学生 mdb 按指定的连接打开数据库Mycon Open注 打开数据库之后 接下来就可以使用Recordset对象实现对数据库的各种操作 使用ADO访问数据 Connection对象常用的属性 方法 1 ConnectionString属性 用来建立和数据库的链接 包含了连接数据源的各种信息 2 State属性 只读属性 用来确定一个Connection对象是已经建立还是关闭 3 Open方法 建立同数据源的连接 方法如下 对象名 Open连接字符串 用户名 密码 连接选择 4 Close方法 关闭一个数据连接 5 Exectue方法 执行一个SQL查询 6 BeginTrans方法 开始一个事务 7 CommintTrans方法 提交事务 所有在事务中进行的操作被写入数据库 8 RollBackTrans方法 滚回事务 所有事务中的操作结果都被取消 使用ADO访问数据 2 Recordset对象同样可以对ADO的Recordset对象进行数据记录的移动操作 数据的搜索 记录的添加 删除 更新等 也可以使用BOF和EOF来判断记录的位置 任何时候只能代表一个记录集合 例 打开学生数据库 D mydb 学生 mdb 显示学生数据库中所有学生的姓名 1 添加 MicrosoftActiveXDataObject2 0Library 2 编写代码 PrivateSubForm Load 定义Mycon为Connection对象DimMyconAsNewADODB Connection 定义MyRS为Recordset对象DimMyRSAsNewADODB Recordset 使用ADO访问数据 Mycon ConnectionString provider Microsoft jet OLEDB 3 51 datasource D mydb 学生 mdb Mycon Open 打开数据库 打开一个由查询指定的记录集MyRS Open select from学生基本信息 MyconMyRS MoveFirst 移动到记录集的第一条记录ShowDoWhileNotMyRS EOF 打印记录集中当前记录的 姓名 字段PrintMyRS Fields 姓名 MyRS MoveNext 移动到记录集的下一条记录LoopEndSub 使用ADO访问数据 RecordSet对象常用的属性和方法 1 RecordCount属性 返回记录集对象中的记录个数 必须使用MoveLase方法后才能得到准确的结果 2 Open方法 打开指定连接的一个RecordSet对象对象名 Open数据源或SQL语句 Connection对象 游标类型 加锁方式 加锁方式有4种 adLockReadOnly 只读adLockPessimistic 悲观锁adLockOptimistic 乐观锁adLockBatchOptimistic 成批更新乐观锁 3 Close方法 关闭指定连接的一个RecordSet对象 4 AddNew方法 添加一条空白记录 5 Delete方法 删除一条记录 6 UpDate方法 提交或更新一条记录 使用ADO访问数据 7 MoveFirst方法 MoveLast方法 MoveNext方法 MovePrevious方法 用来移动记录指针 8 EOF属性 用来判断记录指针是否移动到记录末尾 9 BOF属性 用来判断记录指针是否移动到记录头建立RecordSet对象的方法 1 Connection对象的Execute方法 2 Command对象的Execute方法 3 RecordSet对象的Open方法 4 Set语句 使用ADO访问数据 3 Command对象用于定义将对数据源执行的命令 主要用于提供一个通过SQL命令来操纵数据库的功能 例 将前面的例题改写成用Command对象实现 PrivateSubForm Load DimMyconAsNewADODB ConnectionDimMyRSAsNewADODB Recordset 定义Mycom为Command对象DimMycomAsNewADODB CommandMycon ConnectionString provider Microsoft jet OLEDB 3 51 datasource D mydb 学生 mdb Mycon Open 打开数据库 使用ADO访问数据 定义一个查询字符串strSQL select from学生基本信息 指定Command对象属于Mycon连接SetMycom ActiveConnection Mycon 指定Command对象的命令文本为strSQLMycom CommandText strSQL 执行在CommandText属性中指定的查询SetMyRS Mycom ExecuteMyRS MoveFirst 移动到第一条记录ShowDoWhileNotMyRS EOFPrintMyRS Fields 姓名 MyRS MoveNextLoopEndSub 使用ADO访问数据 Command对象常用的属性和方法 1 ActiveConnection属性 在创建Command对象的时候用来指明该对象属于那个Connection对象 2 CommandText属性 用来保存希望执行的SQL语句
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 场景语义理解-第1篇-洞察及研究
- 2025年健康心理学师考试试卷及答案
- 2025年公共艺术研究生入学考试试卷及答案
- 2024年度浙江省护师类之主管护师考前自测题及答案
- 2024年度浙江省护师类之主管护师过关检测试卷A卷附答案
- 肿瘤术后营养康复方案
- 科学活动垃圾处理与去向分析
- 中风昏迷护理诊断和措施
- 肿瘤增殖动力学研究框架
- 美团内部培训
- 专业技术职称晋升申请书
- 广西桂林市高二下学期期末质量检测语文试题含答案
- 2023-2024学年内蒙古自治区锡林浩特市小学语文五年级期末自测提分题详细参考答案解析
- 2023年吉林省国资委出资企业定向招聘高校毕业生540人笔试备考题库及答案解析
- 2022年四川凉山州属国有企业专业技术及管理人员招聘和选聘49人笔试备考题库及答案解析
- 宝马e38,e39维修手册第一章车身控制系统
- 轧辊作业指导书
- LY/T 1704-2007白蛾周氏啮小蜂人工繁育及应用技术规程
- JJF 1078-2002光学测角比较仪校准规范
- 如何进行生产线编成
- 脑卒中筛查与干预流程
评论
0/150
提交评论