【教学课件】第9章数据库访问.ppt

上传人:牧羊曲112 文档编号:4879293 上传时间:2023-05-21 格式:PPT 页数:54 大小:439KB
返回 下载 相关 举报
【教学课件】第9章数据库访问.ppt_第1页
第1页 / 共54页
【教学课件】第9章数据库访问.ppt_第2页
第2页 / 共54页
【教学课件】第9章数据库访问.ppt_第3页
第3页 / 共54页
【教学课件】第9章数据库访问.ppt_第4页
第4页 / 共54页
【教学课件】第9章数据库访问.ppt_第5页
第5页 / 共54页
点击查看更多>>
资源描述

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

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

2、资)values(1201,吴昊,市场部,3500)删除记录修改记录查询数据,SQL 及其应用,对数据库的操作插入记录删除记录delete from Employees where 工号=1201修改记录查询数据,SQL 及其应用,对数据库的操作插入记录删除记录修改记录update Employees set 工资=工资*1.2 where 工号=1201查询数据,SQL 及其应用,对数据库的操作插入记录删除记录修改记录查询数据select 姓名,所属部门,工资 from Employees where 所属部门=市场部,本章内容安排,关系数据库及其应用利用ADO控件访问数据库ADO控件Dat

3、aGrid控件ADO控件的操作DataGrid控件的操作利用ADO对象访问数据库,ADO 技术简介,在 Visual Basic 程序中,并不能直接使用 SQL命令。ADO 技术是访问数据库的最佳途径。Microsoft 既提供了 ADO 控件、也提供了没有界面的 ADO 对象用于创建数据库应用程序。,ADO 控件和 DataGrid 控件,第一个任务:把数据库中的数据表按照表格的形式显示在Form窗体中。完成这个任务既要使用 ADO 控件,又要使用DataGrid 控件。ADO 控件是提供数据的数据源控件。它从数据库中查询并返回有关数据(称为记录集)。DataGrid 控件是利用数据的绑定控

4、件,它能使数据按表格的形式显示出来。,ADO 控件和 DataGrid 控件,向工具箱添加ADO控件和DataGrid控件从【工程】菜单里选择【组件】,显示【组件对话框】;在这个对话框中选择Microsoft ADO Data Control 6.0选项;再选择Microsoft DataGrid Control 6.0选项;最后,关闭这个对话框,ADO数据控件和DataGrid绑定控件即进入工具箱中。,ADO 控件和 DataGrid 控件,设置 ADO 数据控件,使其成为数据源。主要在属性对话框中设置以下属性:ConnectionString 属性,设置为提供数据库信息的连接字符串。Rec

5、ordSource 属性,设置为SQL的select命令或存储过程名称。同时应指定命令类型。把 DataGrid 控件绑定到数据源 ADO 控件。主要设置其一个属性:DataSource 属性,将其设定为 ADO 控件即可。,ADO 控件的操作,主要有以下4种操作:使记录指针移到第一条记录;使记录指针移到上一条记录;使记录指针移到下一条记录;使记录指针移到最后一条记录。,DataGrid 控件的操作,PageUp键和PageDown键:可在记录集中前后翻页。光标上、下键:可从一条记录移到另一条记录。使用窗口右边的垂直滚动条可上下翻看记录。光标左、右键:可从一个字段移到另一个字段。当然也可以用鼠

6、标直接点选某个字段(单元格)。当鼠标定位在列分界线上并出现伸缩竖线时,按住鼠标左键,拖动伸缩竖线可扩大或减小列的宽度。,DataGrid 控件的主要属性,AllowAddNew:设为True时,当光标移到最后时会添加一条新记录。AllowDelete:设为True时,可按键盘上的Del或Delete 键删除当前记录。AllowUpdate:设为True,则当移动记录指针时,对前条记录所做的修改将会被保存。设为False,可防止修改。DataSource:将其设置为某个数据源(ADO数据控件、或后面要介绍的Recordset对象),即可按表格的形式显示其中的数据。,本章内容安排,关系数据库及其应

7、用利用ADO控件访问数据库利用ADO对象访问数据库连接到数据库操作数据库利用查询结果,利用ADO对象访问数据库,我们需要更灵活地控制对数据库的访问。对数据库的不同访问,其实可以共享一个数据库连接,而不需要为每个查询都建立一个数据库连接。当不需要某个查询时,相应的对象可以随时关闭并释放,不会始终占用着系统资源。实际开发都要使用ADO对象。当然,使用ADO对象,意味着编程人员需要编写更多的代码。,利用ADO对象访问数据库,ADO基本的对象有三个,代表了访问数据库的三个步骤:连接数据库。由Connection对象负责。访问操作数据库。由Command对象负责。查询操作的结果,由Recordset对象

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

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

10、er=SQLOLEDB;Data Source=(local);Initial Catalog=Northwind;Integrated Security=SSPI调用Open方法,连接到数据库,用Connection对象连接到数据库。步骤如下:创建Connection对象设置ConnectionString属性调用Open方法con.Open,连接到数据库,Dim con As New ADODB.ConnectionPrivate Sub Form_Load()On Error GoTo Handle con.ConnectionString=Provider=Microsoft.Jet.

11、OLEDB.4.0;Data Source=D:dbGoods.mdb con.Open MsgBox 连接成功 Exit SubHandle:MsgBox 连接失败End Sub,连接到数据库,当此连接不再需要时,可以调用Close方法将其关闭,然后释放。con.Close关闭Set con=Nothing释放,操作访问数据库,ADO 的 Command 对象表示对数据库的操作命令。通过Command对象,既可以进行数据库各种对象的定义,如建立数据表、建立各种约束等,也可以对数据库中的数据进行诸如添加、删除、修改及查询等操作。,操作数据库一般按以下方式进行:创建Command对象设置Comm

12、andType属性设置CommandText属性调用Execute方法,操作数据库一般按以下方式进行:创建Command对象Dim com As New ADODB.CommandSet com.ActiveConnection=con设置CommandType属性设置CommandText属性调用Execute方法,操作数据库一般按以下方式进行:创建Command对象设置CommandType属性com.CommandType=AdCmdText设置CommandText属性调用Execute方法,操作数据库一般按以下方式进行:创建Command对象设置CommandType属性设置Comm

13、andText属性com.CommandText=delete Goods where 工号=1201调用Execute方法,操作数据库一般按以下方式进行:创建Command对象设置CommandType属性设置CommandText属性调用Execute方法com.Execute,利用查询结果,Recordset 对象表示的是从数据库中查询的结果记录的集合,并支持对其中的数据进行各种操作或处理。使用Recordset对象的一般方式为:创建对象调用Open方法,利用查询结果,Recordset 对象表示的是从数据库中查询的结果记录的集合,并支持对其中的数据进行各种操作或处理。使用Records

14、et对象的一般方式为:创建对象Dim rst As ADODB.Recordsetset rst=New ADODB.Recordset调用Open方法,Recordset.Open,rst.Open Source,ActiveConnection,CursorType,LockType,Options Source可为Command对象、SQL语句、表名、存储过程名。建议使用Command对象,这样就不用设置后面参数Options。,Recordset.Open,rst.Open Source,ActiveConnection,CursorType,LockType,Options Acti

15、veConnection用于指定所属的 Connection 对象。,Recordset.Open,rst.Open Source,ActiveConnection,CursorType,LockType,Options CursorType:用于设置游标类型。adOpenForwardOnly:仅向前游标。adOpenKeyset:键集游标。只对更改敏感。adOpenDynamic:动态游标。最敏感。adOpenStatic:静态游标。不敏感。,Recordset.Open,rst.Open Source,ActiveConnection,CursorType,LockType,Option

16、s LockType:用于设置锁定类型。adLockReadOnly:只读。adLockPessimistic:保守式记录锁定。adLockOptimistic开放式记录锁定。adLockBatchOptimistic开放式批更新。,Recordset.Open,rst.Open Source,ActiveConnection,CursorType,LockType,Options Options:用于指明参数Source的类别。adCmdText:SQL命令文本adCmdTable:数据表名称adCmdStoredProc:存储过程名称,Recordset 对象移动记录指针,包括4个移动方法

17、,分别是:MoveFirst:移到第一条记录MovePrevious:移到上一条记录MoveNext:移到下一条记录MoveLast:移到最后一条记录,Recordset 对象移动记录指针,当移动记录指针时,需要随时判断指针的状态,有以下两个属性:BOF:为True时,表示指针在向前移动时,超过了第一条记录的位置。EOF:为True时,表示指针在向后移动时,超过了最后一条记录的位置。,Recordset 对象操作数据,AddNewDeleteUpdateUpdateBatchFind criteria,Skip,Direction,start,Recordset 对象操作数据,AddNew该方

18、法向Recordset对象中添加一条新记录,并使新记录成为当前记录。DeleteUpdateUpdateBatchFind criteria,Skip,Direction,start,Recordset 对象操作数据,AddNewDelete该方法会删除Recordset对象中的当前记录。对于立即更新模式,将在数据库中立即删除。UpdateUpdateBatchFind criteria,Skip,Direction,start,Recordset 对象操作数据,AddNewDeleteUpdate把Recordset对象中已有变化的数据更新到数据库中。用于立即更新模式。UpdateBatch

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

20、kip:跳过的记录数。,Recordset 对象操作数据,AddNewDeleteUpdateUpdateBatchFind criteria,Skip,Direction,startDirection 用于指定搜索的方向。adSearchForward:从第一条向最后一条;adSearchBackward:从最后一条向第一条。,Recordset 对象操作数据,AddNewDeleteUpdateUpdateBatchFind criteria,Skip,Direction,startStart 用于指定搜索的基准位置。adBookmarkCurrent:当前位置(默认)adBookmarkFirst:第一条记录adBookmarkLast:最后一条记录,本章小结,练习,书上本章后的编程题:1和2。,Good Bye,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号