版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2目标目标q 掌握掌握使用使用SQL查询数据库查询数据库 。q 掌握掌握使用使用ADO数据控件访问数据库数据控件访问数据库 。q 掌握掌握使用数据集对象使用数据集对象Recordset浏览和操作记录浏览和操作记录 。310.1 数据库概述q 数据库数据库 以一定方式组织、存储及处理相互以一定方式组织、存储及处理相互关联的数据的集合,并允许用户访问。关联的数据的集合,并允许用户访问。q Visual Basic支持多种类型的数据库,如支持多种类型的数据库,如Access数据库、数据库、FoxPro数据库、数据库、SQL Server和和Oracle等。等。410.1.1 10.1.1 关系数据库
2、的基本概念关系数据库的基本概念 q数据模型数据模型是数据库中数据的存储方式,是是数据库中数据的存储方式,是数据库系统的核心和基础。数据库系统的核心和基础。q每一种数据库管理系统都是基于某种数据每一种数据库管理系统都是基于某种数据模型的,目前应用最广泛的是模型的,目前应用最广泛的是关系模型关系模型。5关系数据库关系数据库q基于关系模型的数据库称为基于关系模型的数据库称为关系数据库关系数据库。关系数据库将数据以行和列组成的关系数据库将数据以行和列组成的二位表二位表格格的形式存放,并且通过关系将多个表联的形式存放,并且通过关系将多个表联系在一起。系在一起。qAccess、SQL Server和和Or
3、acle都是关系都是关系数据库管理系统。数据库管理系统。6关系数据库关系数据库q关系数据库将数据用关系数据库将数据用表表的集合来表示。的集合来表示。q表是由行和列组成的数据集合。表是由行和列组成的数据集合。q表一般具有多个属性。表一般具有多个属性。7关系数据库关系数据库 q表中的行被称为记录,列被称为字段。表中的行被称为记录,列被称为字段。q表的结构是由其字段决定的。表的结构是由其字段决定的。q主键用来在表中唯一标识一条记录,可为单字段或字段组合。主键用来在表中唯一标识一条记录,可为单字段或字段组合。记记录录字段字段主键主键8q一个数据库可一个数据库可以由多个表组以由多个表组成,表与表之成,表
4、与表之间可以用不同间可以用不同的方式相互关的方式相互关联。联。关系数据库关系数据库 9q通过相应的数据库管理系统建立。通过相应的数据库管理系统建立。q建立建立Student.mdb 数据库。数据库。q建立建立“基本情况基本情况”表和表和“学生成绩学生成绩”表。表。建立数据库字段名字段名字段类型字段类型字段长度字段长度学号文本型8姓名文本型10性别文本型1出生日期日期型所在学院文本型20专业文本型20字段名字段名字段类型字段类型字段长度字段长度学号文本型8课程文本型10成绩数字型单精度型学期文本型10考试性质文本型10学分数字型整型1010.1.3 10.1.3 使用使用SQLSQL查询数据库查
5、询数据库q结构化查询语言结构化查询语言(Structure Query Language,SQLSQL)是操作关系数据库的标准语言。通过是操作关系数据库的标准语言。通过SQL命命令,可以从数据库的多个表中获取数据,也可对数令,可以从数据库的多个表中获取数据,也可对数据进行添加、删除、修改等更新操作。据进行添加、删除、修改等更新操作。qSQL的主要语句:的主要语句:语语 句句分类分类描描 述述SELECT数据查询数据查询查找查找满足特定条件的记录满足特定条件的记录DELETE数据操作数据操作从数据表中从数据表中删除删除记录记录INSERT数据操作数据操作向表中向表中插入插入一条记录一条记录UPD
6、ATE数据操作数据操作用来用来改变改变特定记录和字段的值特定记录和字段的值11SELECT语句 q SELECT语句的基本语法形式语句的基本语法形式 SELECT SELECT 字段列表字段列表 FROM FROM 表名表名 WHERE WHERE 查询条件查询条件 GROUP BY GROUP BY 分组字段分组字段 HAVING HAVING 分组条件分组条件 ORDER BY ORDER BY 排序关键字段排序关键字段 ASCASC| |DESCDESC 12SELECTSELECT语句语句q字段列表字段列表部分包含了查询结果要显示的字段清单,部分包含了查询结果要显示的字段清单,字段之间
7、用逗号分隔。可用星号字段之间用逗号分隔。可用星号*代表所有字段;也代表所有字段;也可用可用AS关键字更改字段显示名称。关键字更改字段显示名称。qFROM子句用于指定一个或多个表。子句用于指定一个或多个表。qWHERE子句指定查询条件,用使用子句指定查询条件,用使用VB函数和运算函数和运算符,以及符,以及SQL特有的运算符构成。特有的运算符构成。13简单查询简单查询 查询指定列查询指定列例:查询基本信息表中全体学生的姓名与专业信息例:查询基本信息表中全体学生的姓名与专业信息SELECT 姓名姓名,专业专业 FROM 基本信息基本信息 查询全部列查询全部列例:查询基本信息表中全体学生的详细信息例:
8、查询基本信息表中全体学生的详细信息SELECT * FROM 基本信息基本信息14简单查询简单查询 查询经过计算的值查询经过计算的值例:查询基本信息表中全体学生的姓名与年龄信息例:查询基本信息表中全体学生的姓名与年龄信息SELECT 姓名姓名,Year(Date() Year(出生日期出生日期) AS 年龄年龄 FROM 基本信息基本信息 消除取值重复的行:使用消除取值重复的行:使用DISTINCT例:查询基本信息表中有哪几个专业例:查询基本信息表中有哪几个专业SELECT DISTINCT 专业专业 FROM 基本信息基本信息15条件查询条件查询 使用使用WHERE子句指定查询条件,可使用关
9、系运算子句指定查询条件,可使用关系运算符(符(=、=、=、)。)。例:查询基本信息表中数学专业学生的详细信息例:查询基本信息表中数学专业学生的详细信息SELECT * FROM 基本信息基本信息 WHERE 专业专业 = “数学数学”例:查询学生成绩表中大学英语成绩不及格学生的记例:查询学生成绩表中大学英语成绩不及格学生的记录录SELECT * FROM 学生成绩学生成绩 WHERE 课程课程 = “大学英大学英语语” AND 成绩成绩 =90 AND 成绩成绩 =#19909-1-1# AND 出生日期出生日期 =80 例例 计算每个学生各门课程平均分:计算每个学生各门课程平均分:SELEC
10、T 学号学号, AVG(成绩成绩) AS 平均分平均分 FROM 成成绩表绩表 GROUP BY 学号学号24数据分组数据分组qHAVING子句与子句与WHERE子句的区别:子句的区别:WHERE子句子句:对整个对整个记录集记录集进行过滤进行过滤HAVING子句:对各个子句:对各个分组的数据分组的数据进行过滤进行过滤25排序排序qORDER BY子句决定了查询结果的排列顺序子句决定了查询结果的排列顺序q在在ORDER BY子句中,可以指定一个或多个子句中,可以指定一个或多个字段作为排序关键字,字段作为排序关键字,ASC选项代表选项代表升序升序,DESC代表代表降序降序。例例 查询每个学生的大学
11、英语课程记录,并按成查询每个学生的大学英语课程记录,并按成绩降序显示:绩降序显示:SELECT * FROM 学生成绩学生成绩 WHERE 课程课程=“大学英语大学英语” ORDER BY 成绩成绩 DESC26多表查询多表查询q若查询的数据分布在多个表中,则必须建立若查询的数据分布在多个表中,则必须建立连接查询:连接查询:SELECT 字段列表字段列表 FROM 表表1, 表表2 WHERE 表表1.字段字段 = 表表2.字段字段例例 学生成绩表中只有学号,如何在查看学生学生成绩表中只有学号,如何在查看学生成绩的同时能够直观地看到学生姓名?成绩的同时能够直观地看到学生姓名?SELECT 基本
12、信息基本信息.学号学号,姓名姓名,课程课程,成绩成绩 FROM 基本基本信息信息,学生成绩学生成绩 WHERE 基本信息基本信息.学号学号 = 学生成学生成绩绩.学号学号2710.2 VB数据库访问技术数据库访问技术 q数据库应用程序数据库应用程序:用:用VB或其他开发工具开发的计算或其他开发工具开发的计算机应用程序,通过该程序可访问数据库中的数据,机应用程序,通过该程序可访问数据库中的数据,并将所选择的数据用界面显示出来。并将所选择的数据用界面显示出来。qVB采用采用ADO(ActiveX Data Objects)数据访问技术数据访问技术访问数据库。访问数据库。qADO适用于适用于SQL
13、Server、Oracle、Access等关系等关系型数据库。型数据库。28工具箱内工具箱内ADO控件图标形状控件图标形状 画在窗体上的外观画在窗体上的外观VB提供了提供了ADO Data Control控件,它是一种控件,它是一种ActiveX控件,需将其添加到工具箱中,加载方法:控件,需将其添加到工具箱中,加载方法:工程工程部件部件 “Microsoft ADO Data Control 6.0(OLE DB)”选项。选项。 10.2.1 ADO数据控件数据控件2910.2.2 ADO数据控件的基本属性数据控件的基本属性右击右击ADO控件控件Adodc1,选择,选择快捷菜单快捷菜单ADOD
14、C属性属性命令,打开命令,打开ADO控件属性控件属性页窗页窗单击单击连接数据源连接数据源的方式的方式ConnectionString属性属性连接数据源连接数据源30指定要访问的数指定要访问的数据库文件据库文件 ConnectionString属性属性连接数据源连接数据源设置完成后,设置完成后,ADO控件的控件的ConnectionString属性为:属性为: Provider=Microsoft.Jet.OLEDB.4.0; Data Source=Student.mdb31CommandType属性属性命令类型命令类型属性值系统常量说明1adCmdTextRecordSource设置为命令文
15、本,通常使用SQL语句2adCmdTableRecordSource设置为单个表名4adCmdStoredProcRecordSource设置为存储过程名8adCmdUnknown命令类型未知,RecordSource通常设置为SQL语句32RecordSource属性属性记录源记录源qRecordSource属性属性用于确定具体可访问的数据,用于确定具体可访问的数据,这些数据构成记录集对象这些数据构成记录集对象RecordSet。q如查询如查询Student.mdb数据库中的数据库中的“基本信息基本信息”表的表的所有数据,则设置所有数据,则设置RecordSource=“基本信息基本信息”。
16、q如查询所有计算机专业的学生数据,则设置如查询所有计算机专业的学生数据,则设置RecordSource=“Select * From 基本信息基本信息 Where 专业专业=计算机计算机”。33选定选定CommandType属性为:属性为:2 或或 adCmdTableRecordSource属性为:基本情况属性为:基本情况RecordSource属性属性记录源记录源3410.2.3 数据绑定数据绑定 ADO数据控件只能连接数据库产生记录集,不能显数据控件只能连接数据库产生记录集,不能显示记录集中的数据,要显示记录集中的数据必须通示记录集中的数据,要显示记录集中的数据必须通过能与它绑定的控件来
17、实现。过能与它绑定的控件来实现。常用绑定控件数据库数据库记录集记录集绑定控件绑定控件姓名 庄前性别 女35DataGrid控件控件 qDataGridDataGrid控件也称为数据网格控件,以网格形式控件也称为数据网格控件,以网格形式显示数据。显示数据。qDataGridDataGrid控件控件 是是ActiveXActiveX控件,需加载到控件,需加载到工具箱:工程工具箱:工程部件部件 “ “Microsoft DataGridMicrosoft DataGrid Control 6.0(OLE DB)”Control 6.0(OLE DB)”选项。选项。q 属性:属性: CaptionCa
18、ption:表格标题:表格标题 DataSourceDataSource:设置为:设置为ADOADO控件名称。控件名称。36示例示例 设计一个应用程序,在窗体上用表格形式显示设计一个应用程序,在窗体上用表格形式显示Student.mdb数据库中数据库中“基本信息基本信息”表的内表的内容。容。 37简单数据绑定 q简单数据绑定就是将控件绑定到简单数据绑定就是将控件绑定到单个单个数据数据字字段段。每个控件仅显示数据集中的一个字段值。每个控件仅显示数据集中的一个字段值。q最常用的简单数据绑定是将数据绑定到最常用的简单数据绑定是将数据绑定到文本文本框框、标签标签、组合框组合框等。等。38简单数据绑定
19、q要使绑定控件连接到记录集的某个字段,通要使绑定控件连接到记录集的某个字段,通常需要设置的属性常需要设置的属性: :DataSourceDataSource:指定:指定ADOADO数据控件数据控件DataFieldDataField:设置记录集中有效的字段:设置记录集中有效的字段 39示例示例设计窗体,显示设计窗体,显示Student.mdb数据库中数据库中“基基本信息本信息”表的内容。表的内容。4010.2.4 ADO控件的主要方法控件的主要方法qRefresh方法用来刷新方法用来刷新ADO数据控件的连接属性,数据控件的连接属性,并重新建立记录集。并重新建立记录集。q如果在程序代码中改变了如
20、果在程序代码中改变了RecordSource的属性值,的属性值,必须使用必须使用Refresh方法来刷新记录集,以等到最新方法来刷新记录集,以等到最新数据。数据。q假定假定ADO控件当前连接的是基本信息表,如要使控件当前连接的是基本信息表,如要使记录集更换为学生成绩表中的数据,则在程序中记录集更换为学生成绩表中的数据,则在程序中需执行:需执行:Adodc1.RecordSource = “学生成绩学生成绩” Adodc1.Refresh41示例示例设计窗体,通过单击不同的按钮,在表格中显设计窗体,通过单击不同的按钮,在表格中显示相应表的数据。示相应表的数据。4210.2.5 ADO控件的主要事
21、件控件的主要事件qWillMove事件:事件:当改变记录集指针从一条记当改变记录集指针从一条记录移到另一条记录时产生。录移到另一条记录时产生。qMoveComplete事件:事件:当记录集指针从一条当记录集指针从一条记录移到另一条记录后产生。记录移到另一条记录后产生。43在在VB中数据库内的表格不允许直接访问,中数据库内的表格不允许直接访问,而只能通过而只能通过记录集记录集对象进行记录的操作和浏对象进行记录的操作和浏览,因此,记录集是一种浏览数据库的工具。览,因此,记录集是一种浏览数据库的工具。数据库数据库记录集记录集10.3 记录集对象记录集对象4410.3.1 记录集的浏览记录集的浏览qA
22、bsoloutPostionAbsoloutPostion属性:返回当前记录指属性:返回当前记录指针值,范围为针值,范围为1Recordset记录数。记录数。qRecordCountRecordCount属性:属性:Recordset对象中的对象中的记录数。记录数。45记录集的浏览记录集的浏览qBOFBOF和和EOFEOF的属性:的属性:BOF判定记录指针是判定记录指针是否在首记录之前,否在首记录之前,EOF判定记录指针是否在判定记录指针是否在末记录之后;如果末记录之后;如果BOF和和EOF的属性值都为的属性值都为True,则记录集为空。,则记录集为空。46(1) MoveFirst方法移至第
23、方法移至第1条记录条记录(2) MoveLast方法移至最后一条记录方法移至最后一条记录(3) MoveNext方法移至下一条记录方法移至下一条记录(4) MovePrevious方法移至上一条记录方法移至上一条记录记录集方法记录集方法Move方法方法47qFindFind方法:在记录集中查找与指定条件相方法:在记录集中查找与指定条件相符的一条记录,并使之成为当前记录。如果符的一条记录,并使之成为当前记录。如果找不到,则记录指针指在记录集末尾或记录找不到,则记录指针指在记录集末尾或记录集的起始位置前。集的起始位置前。q格式:格式:Recordset.FindRecordset.Find 搜索条
24、件搜索条件 ,位位移移 , 搜索方向搜索方向, 开始位置开始位置记录集方法记录集方法FindFind48q格式:格式:Recordset.FindRecordset.Find 搜索条件搜索条件 ,位移位移 , 搜索搜索方向方向, 开始位置开始位置q搜索条件搜索条件:字符串,包含用于搜索的字段名、比较:字符串,包含用于搜索的字段名、比较运算符和数据。运算符和数据。q如:如:Adodc1.Recordset.Find 学号学号=09061101q使用变量提供条件数据:使用变量提供条件数据: xh = “09061101 Adodc1.Recordset.Find 学号学号= & xh &a
25、mp; q使用使用Like运算符:运算符: Adodc1.Recordset.Find “姓名姓名 Like 唐唐*记录集方法记录集方法FindFind49q格式:格式:Recordset.FindRecordset.Find 搜索条件搜索条件 ,位移位移 , 搜搜索方向索方向, 开始位置开始位置q位移位移:设为:设为n表示从开始位置位移表示从开始位置位移n条记录后开始条记录后开始搜索,默认值为搜索,默认值为0。q搜索方向搜索方向:可为:可为adSearchForward(向记录集尾(向记录集尾部)或部)或adSerarchBackward(向记录集头部)。(向记录集头部)。q起始位置起始位置:指定搜索的起始位置,默认为当前位:指定搜索的起始位置,默认为当前位置。置。qAdodc1.Recordset.Find 学号学号=09061101, , ,1记录集方法
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年中色创新研究院(天津)有限公司招聘备考题库完整参考答案详解
- 健康教育品牌IP授权与商业转化
- 健康应急管理体系健康评价指标
- 健康促进政策中的政府购买服务机制
- ESD穿孔内镜缝合的技术要点与操作规范
- 2025年温州市公安局洞头区分局第五期公开招聘编外用工备考题库及一套答案详解
- 2026年上海交通大学医学院松江研究院张涛课题组招聘备考题库及参考答案详解1套
- 2026年上海发电设备成套设计研究院有限责任公司招聘备考题库及完整答案详解1套
- 2026年曲靖医学高等专科学校单招综合素质笔试参考题库带答案解析
- 2026年华润水泥(安顺)有限公司招聘六险两金月薪4300-9000元备考题库有答案详解
- 2025高中思想政治课标测试卷(及答案)
- 教育教学主题演讲
- 特殊食品产业现状与发展趋势
- 心外科护理教学课件
- DB64∕680-2025 建筑工程安全管理规程
- 海洋能经济性分析-洞察及研究
- 2025年中国MINI-LED市场竞争格局及投资战略规划报告
- 四年级上册数学脱式计算大全500题及答案
- 2024年全国大学生西门子杯工业自动化挑战赛-ITEM2-逻辑控制赛项-工程设拓梦者队计文件
- 轨迹大数据处理技术的关键研究进展综述
- 分位数因子增广混频分位数回归模型构建及应用研究
评论
0/150
提交评论