第9章数据库访问.ppt

上传人:本田雅阁 文档编号:2553387 上传时间:2019-04-07 格式:PPT 页数:54 大小:704.51KB
返回 下载 相关 举报
第9章数据库访问.ppt_第1页
第1页 / 共54页
第9章数据库访问.ppt_第2页
第2页 / 共54页
第9章数据库访问.ppt_第3页
第3页 / 共54页
亲,该文档总共54页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第9章数据库访问.ppt》由会员分享,可在线阅读,更多相关《第9章数据库访问.ppt(54页珍藏版)》请在三一文库上搜索。

1、第9章 数据库访问,Visual Basic 程序设计教程,本章内容安排,关系数据库及其应用 关系数据库概述 SQL及其应用 利用ADO控件访问数据库 利用ADO对象访问数据库,关系数据库概述,关系数据库 数据表 字段 记录 主键 数据库操作 投影 合并,SQL 及其应用,SQL是通用的数据库语言,几乎为所有的关系数据库管理系统所支持。 SQL可用来编写查询或操作数据库的命令,在数据库管理系统的驱动下实施对数据库的一切访问(创建、维护和查询)。,SQL 及其应用,对数据库的操作 插入记录 删除记录 修改记录 查询数据,SQL 及其应用,对数据库的操作 插入记录 insert into Empl

2、oyees (工号,姓名,所属部门,工资) values(1201,吴昊,市场部,3500) 删除记录 修改记录 查询数据,SQL 及其应用,对数据库的操作 插入记录 删除记录 delete from Employees where 工号=1201 修改记录 查询数据,SQL 及其应用,对数据库的操作 插入记录 删除记录 修改记录 update Employees set 工资=工资*1.2 where 工号=1201 查询数据,SQL 及其应用,对数据库的操作 插入记录 删除记录 修改记录 查询数据 select 姓名,所属部门,工资 from Employees where 所属部门=市场

3、部,本章内容安排,关系数据库及其应用 利用ADO控件访问数据库 ADO控件 DataGrid控件 ADO控件的操作 DataGrid控件的操作 利用ADO对象访问数据库,ADO 技术简介,在 Visual Basic 程序中,并不能直接使用 SQL命令。 ADO 技术是访问数据库的最佳途径。 Microsoft 既提供了 ADO 控件、也提供了没有界面的 ADO 对象用于创建数据库应用程序。,ADO 控件和 DataGrid 控件,第一个任务:把数据库中的数据表按照表格的形式显示在Form窗体中。 完成这个任务既要使用 ADO 控件,又要使用DataGrid 控件。 ADO 控件是提供数据的数

4、据源控件。它从数据库中查询并返回有关数据(称为记录集)。 DataGrid 控件是利用数据的绑定控件,它能使数据按表格的形式显示出来。,ADO 控件和 DataGrid 控件,向工具箱添加ADO控件和DataGrid控件 从【工程】菜单里选择【组件】,显示【组件对话框】; 在这个对话框中选择Microsoft ADO Data Control 6.0选项; 再选择Microsoft DataGrid Control 6.0选项; 最后,关闭这个对话框,ADO数据控件和DataGrid绑定控件即进入工具箱中。,ADO 控件和 DataGrid 控件,设置 ADO 数据控件,使其成为数据源。主要在

5、属性对话框中设置以下属性: ConnectionString 属性,设置为提供数据库信息的连接字符串。 RecordSource 属性,设置为SQL的select命令或存储过程名称。同时应指定命令类型。 把 DataGrid 控件绑定到数据源 ADO 控件。主要设置其一个属性: DataSource 属性,将其设定为 ADO 控件即可。,ADO 控件的操作,主要有以下4种操作: 使记录指针移到第一条记录; 使记录指针移到上一条记录; 使记录指针移到下一条记录; 使记录指针移到最后一条记录。,DataGrid 控件的操作,PageUp键和PageDown键:可在记录集中前后翻页。 光标上、下键:

6、可从一条记录移到另一条记录。使用窗口右边的垂直滚动条可上下翻看记录。 光标左、右键:可从一个字段移到另一个字段。当然也可以用鼠标直接点选某个字段(单元格)。 当鼠标定位在列分界线上并出现伸缩竖线时,按住鼠标左键,拖动伸缩竖线可扩大或减小列的宽度。,DataGrid 控件的主要属性,AllowAddNew:设为True时,当光标移到最后时会添加一条新记录。 AllowDelete:设为True时,可按键盘上的Del或Delete 键删除当前记录。 AllowUpdate:设为True,则当移动记录指针时,对前条记录所做的修改将会被保存。设为False,可防止修改。 DataSource:将其设置

7、为某个数据源(ADO数据控件、或后面要介绍的Recordset对象),即可按表格的形式显示其中的数据。,本章内容安排,关系数据库及其应用 利用ADO控件访问数据库 利用ADO对象访问数据库 连接到数据库 操作数据库 利用查询结果,利用ADO对象访问数据库,我们需要更灵活地控制对数据库的访问。 对数据库的不同访问,其实可以共享一个数据库连接,而不需要为每个查询都建立一个数据库连接。 当不需要某个查询时,相应的对象可以随时关闭并释放,不会始终占用着系统资源。 实际开发都要使用ADO对象。当然,使用ADO对象,意味着编程人员需要编写更多的代码。,利用ADO对象访问数据库,ADO基本的对象有三个,代表

8、了访问数据库的三个步骤: 连接数据库。由Connection对象负责。 访问操作数据库。由Command对象负责。 查询操作的结果,由Recordset对象表示。,利用ADO对象访问数据库,在使用 ADO 对象之前,需要在自己的工程中添加对 ADODB 对象库的引用,否则,无法使用任何ADO 对象。 方法是: 展开菜单【工程】【引用】; 在引用对话框中,找到并选择“Microsoft ActiveX Data Objects 2.x Library”。,连接到数据库,用Connection对象连接到数据库。步骤如下: 创建Connection对象 设置ConnectionString属性 调用

9、Open方法,连接到数据库,用Connection对象连接到数据库。步骤如下: 创建Connection对象 Dim con As ADODB.Connection Set con=new ADODB.Connection 设置ConnectionString属性 调用Open方法,连接到数据库,用Connection对象连接到数据库。步骤如下: 创建Connection对象 设置ConnectionString属性 con.ConnectionString = “Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:dbGoods.mdb“ 调用Op

10、en方法,连接到数据库,用Connection对象连接到数据库。步骤如下: 创建Connection对象 设置ConnectionString属性 con.ConnectionString= “Provider=SQLOLEDB; Data Source=(local); Initial Catalog=Northwind; Integrated Security=SSPI“ 调用Open方法,连接到数据库,用Connection对象连接到数据库。步骤如下: 创建Connection对象 设置ConnectionString属性 调用Open方法 con.Open,连接到数据库,Dim con

11、 As New ADODB.Connection Private Sub Form_Load() On Error GoTo Handle con.ConnectionString = “Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:dbGoods.mdb“ con.Open MsgBox “连接成功“ Exit Sub Handle: MsgBox “连接失败“ End Sub,连接到数据库,当此连接不再需要时,可以调用Close方法将其关闭,然后释放。 con.Close 关闭 Set con=Nothing 释放,操作访问数据库,ADO

12、的 Command 对象表示对数据库的操作命令。 通过Command对象,既可以进行数据库各种对象的定义,如建立数据表、建立各种约束等,也可以对数据库中的数据进行诸如添加、删除、修改及查询等操作。,操作数据库一般按以下方式进行: 创建Command对象 设置CommandType属性 设置CommandText属性 调用Execute方法,操作数据库一般按以下方式进行: 创建Command对象 Dim com As New ADODB.Command Set com.ActiveConnection=con 设置CommandType属性 设置CommandText属性 调用Execute方法

13、,操作数据库一般按以下方式进行: 创建Command对象 设置CommandType属性 com.CommandType = AdCmdText 设置CommandText属性 调用Execute方法,操作数据库一般按以下方式进行: 创建Command对象 设置CommandType属性 设置CommandText属性 com.CommandText = “delete Goods where 工号=1201“ 调用Execute方法,操作数据库一般按以下方式进行: 创建Command对象 设置CommandType属性 设置CommandText属性 调用Execute方法 com.Exec

14、ute,利用查询结果,Recordset 对象表示的是从数据库中查询的结果记录的集合,并支持对其中的数据进行各种操作或处理。 使用Recordset对象的一般方式为: 创建对象 调用Open方法,利用查询结果,Recordset 对象表示的是从数据库中查询的结果记录的集合,并支持对其中的数据进行各种操作或处理。 使用Recordset对象的一般方式为: 创建对象 Dim rst As ADODB.Recordset set rst=New ADODB.Recordset 调用Open方法,Recordset.Open,rst.Open Source, ActiveConnection, Cur

15、sorType, LockType, Options Source 可为Command对象、SQL语句、表名、存储过程名。 建议使用Command对象,这样就不用设置后面参数Options。,Recordset.Open,rst.Open Source, ActiveConnection, CursorType, LockType, Options ActiveConnection 用于指定所属的 Connection 对象。,Recordset.Open,rst.Open Source, ActiveConnection, CursorType, LockType, Options Curs

16、orType:用于设置游标类型。 adOpenForwardOnly:仅向前游标。 adOpenKeyset:键集游标。只对更改敏感。 adOpenDynamic :动态游标。最敏感。 adOpenStatic:静态游标。不敏感。,Recordset.Open,rst.Open Source, ActiveConnection, CursorType, LockType, Options LockType:用于设置锁定类型。 adLockReadOnly:只读。 adLockPessimistic :保守式记录锁定。 adLockOptimistic 开放式记录锁定。 adLockBatchO

17、ptimistic 开放式批更新。,Recordset.Open,rst.Open Source, ActiveConnection, CursorType, LockType, Options Options:用于指明参数Source的类别。 adCmdText:SQL命令文本 adCmdTable:数据表名称 adCmdStoredProc:存储过程名称,Recordset 对象移动记录指针,包括4个移动方法,分别是: MoveFirst:移到第一条记录 MovePrevious:移到上一条记录 MoveNext:移到下一条记录 MoveLast:移到最后一条记录,Recordset 对象

18、移动记录指针,当移动记录指针时,需要随时判断指针的状态,有以下两个属性: BOF:为True时,表示指针在向前移动时,超过了第一条记录的位置。 EOF:为True时,表示指针在向后移动时,超过了最后一条记录的位置。,Recordset 对象操作数据,AddNew Delete Update UpdateBatch Find criteria,Skip, Direction,start,Recordset 对象操作数据,AddNew 该方法向Recordset对象中添加一条新记录,并使新记录成为当前记录。 Delete Update UpdateBatch Find criteria,Skip,

19、 Direction,start,Recordset 对象操作数据,AddNew Delete 该方法会删除Recordset对象中的当前记录。对于立即更新模式,将在数据库中立即删除。 Update UpdateBatch Find criteria,Skip, Direction,start,Recordset 对象操作数据,AddNew Delete Update 把Recordset对象中已有变化的数据更新到数据库中。用于立即更新模式。 UpdateBatch Find criteria,Skip, Direction,start,Recordset 对象操作数据,AddNew Dele

20、te Update UpdateBatch 把Recordset对象中已有变化的数据更新到数据库中。用于批更新模式。 Find criteria,Skip, Direction,start,Recordset 对象操作数据,AddNew Delete Update UpdateBatch Find criteria,Skip,Direction,start 从Recordset 中搜索满足指定条件的记录。如果找到,则找到的记录成为当前记录,否则指针状态为BOF或EOF(取决于搜索的方向)。 Skip:跳过的记录数。,Recordset 对象操作数据,AddNew Delete Update U

21、pdateBatch Find criteria,Skip,Direction,start Direction 用于指定搜索的方向。 adSearchForward:从第一条向最后一条; adSearchBackward:从最后一条向第一条。,Recordset 对象操作数据,AddNew Delete Update UpdateBatch Find criteria,Skip,Direction,start Start 用于指定搜索的基准位置。 adBookmarkCurrent:当前位置(默认) adBookmarkFirst:第一条记录 adBookmarkLast:最后一条记录,本章小结,练习,书上本章后的编程题:1和2。,Good Bye,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1