VB数据库ADO对象模型详解.ppt

上传人:牧羊曲112 文档编号:6522660 上传时间:2023-11-08 格式:PPT 页数:163 大小:2.06MB
返回 下载 相关 举报
VB数据库ADO对象模型详解.ppt_第1页
第1页 / 共163页
VB数据库ADO对象模型详解.ppt_第2页
第2页 / 共163页
VB数据库ADO对象模型详解.ppt_第3页
第3页 / 共163页
VB数据库ADO对象模型详解.ppt_第4页
第4页 / 共163页
VB数据库ADO对象模型详解.ppt_第5页
第5页 / 共163页
点击查看更多>>
资源描述

《VB数据库ADO对象模型详解.ppt》由会员分享,可在线阅读,更多相关《VB数据库ADO对象模型详解.ppt(163页珍藏版)》请在三一办公上搜索。

1、,1 ADO对象模型 ADO(ActiveX Data Object)活动数据访问接口是Microsoft处理数据库信息的最新技术。采用OLE DB的数据访问模式,是数据访问对象DAO、远程数据对象RDO和开放数据库互连ODBC三种方式的扩展。OLE对象链接使能,具有链接和嵌入对象的功能。ADO对象模型定义了一个可编程的分层对象集合,主要由三个对象成员Connection、Command和Recordset对象,以及几个集合对象Errors、Parameters和Fields等所组成。,6.5 ADO数据控件,6.5 ADO数据控件,图6.13 ADO对象模型,6.5 ADO数据控件,6.5

2、ADO数据控件,2 使用ADO数据控件使用ADO数据控件,必须先通过工程|部件菜单命令选项。,6.5 ADO数据控件,选择Microsoft ADO Data Control 6.0(OLEDB),将ADO数据控件添加到工具箱,在窗体中使用ADO数据控件的方式与Data控件相似,使用ADO数据控件的基本属性,可以快速地创建与数据库的连接。,在程序中使用ADO对象,必须先为当前工程引用ADO的对象库。引用方式是执行工程菜单的引用命令,启动引用对话框,在清单中选取MicrosoftActiveX Data Objects 2.0 Library选项。,6.5 ADO数据控件,进入,1)ADO数据控

3、件的基本属性ConnectionString属性ADO控件没有DatabaseName属性,它使用ConnectionString属性与数据库建立连接。该属性包含了用于与数据源建立连接的相关信息。,6.5 ADO数据控件,6.5 ADO数据控件,RecordSource属性该属性确定可访问的数据,这些数据构成记录集对象Recordset。该属性值可以是数据库中单个表名、一个存储查询或者是使用SQL查询语言的查询字符串。,ConnectionTimeout属性用于数据连接的超时设置,若在指定时间内连接不成功显示超时信息。MaxRecords属性定义从一个查询中最多能返回的记录数。,6.5 ADO

4、数据控件,2)ADO数据控件的方法和事件ADO数据控件的方法和事件与Data控件的方法和事件完全一样。3)设置ADO数据控件的属性下面通过使用ADO数据控件连接Student.mdb数据库来说明ADO数据控件属性的设置。,6.5 ADO数据控件,步骤1:在窗体上放置ADO数据控件,控件名采用默认名Adodcl。,6.5 ADO数据控件,步骤2:在ADO控件按鼠标右键,选择ADO属性时,弹出属性页对话框。,6.5 ADO数据控件,允许通过三种不同的方式连接数据源,表示通过一个连接文件来完成,使用ODBC数据资源名称 可以通过下拉式列表框,选择某个创建好的数据源名称(DSN),作为数据来源对远程数

5、据库进行控制,通过选项设置自动产生连接字符串,步骤3:采用使用连接字符串方式连接数据源。,6.5 ADO数据控件,单击生成按钮,打开数据链接属性对话框,步骤3:采用使用连接字符串方式连接数据源。,6.5 ADO数据控件,在提供程序选项内选择一个合适的OLE DB数据源,Student.mdb是Access数据库,选择Microsoft Jet 3.51 OLE DB Provider选项。,单击下步按钮,步骤3:采用使用连接字符串方式连接数据源。,6.5 ADO数据控件,在连接选项内,指定数据库文件,Student.mdb,为保证连接有效,可单击连接选项卡右下方的测试连接按钮,如果测试成功则关

6、闭数据链接属性页,步骤4:在记录源属性页对话框。,6.5 ADO数据控件,在命令类型下拉列表框中选择2adCmdTable选项,在表或存储过程名称下拉式列表框中选择Student.mdb数据库中的基本情况表,完成ADO数据控件的连接工作。,进入,3 ADO数据控件上新增绑定控件的使用和ADO数据控件的绑定控件属性主要包括:DataSource,DataField,DataMember,DataFormatDataSource和DataField的连接功能增强了;DataMember属性允许处理多个数据集,从数据供应程序提供的几个数据成员中返回或设置一个特定的数据成员;DataFormat属性用

7、于指定数据内容的显示格式。,6.5 ADO数据控件,6.5 ADO数据控件,例6.6 使用ADO数据控件和DataGrid数据网格控件浏览数据库Student.mdb,并使之具有编辑功能。下图为具有增、删、改功能的数据网格绑定。,6.5 ADO数据控件,标有号的记录行表示允许增加新记录,进入,DataGrid控件使用方法:需通过工程|部件菜单命令选择DataGrid控件,,6.5 ADO数据控件,将DataGrid控件添加到工具箱,DataGrid控件使用方法:将DataGrid控件放置到窗体上。设置DataGrid网格控件的DataSource属性为Adodc1,实现DataGrid1绑定到

8、数据控件Adodc1。,6.5 ADO数据控件,DataGrid控件允许用户同时浏览或修改多个记录的数据。,6.5 ADO数据控件,AllowAddNew(增)AllowDelete(删)AllowUpdate(改),修改功能通过DataGrid属 性设置实现,可以设置的 属性为:,进入,添加DataGrid网格上显示的字段,可用鼠标右键单击DataGrid控件,在弹出的快捷菜单中选择检索字段选项。Visual Basic提示是否替换现有的网格布局,单击是按钮就可将表中的字段装载到DataGrid控件中。,6.5 ADO数据控件,用鼠标右键单击DataGrid控件,在弹出的快捷菜单中选择编辑选

9、项,进入数据网格字段布局的编辑状态,此时,当鼠标指在字段名上时,鼠标指针变成黑色向下箭头。,6.5 ADO数据控件,在该窗体点击鼠标右键,选择属性选项,可修改字段标题或字段的显示宽度。,进入,必须使用ADO数据控件进行绑定的控件:,6.5 ADO数据控件,DataList控件 DataSource,DataFiled RowSource,ListFiled,必须使用ADO数据控件进行绑定的控件:,6.5 ADO数据控件,DataCombo控件 DataSource,DataFiled RowSource,ListFiled,必须使用ADO数据控件进行绑定的控件:,6.5 ADO数据控件,Dat

10、aReport控件,在“工程”菜单上,单击“添加 Data Enviroment”向工程中添加设计器。如果设计器没有在工程菜单上列出,则单击部件。单击设计器选项卡。并单击数据环境把设计器添加到菜单上。,6.5 ADO数据控件,DataReport控件,点击鼠标右键,出现菜单,选择属性,出现数据链接属性对话框,选择Microsoft Jet 3.51 OLE DB Provider,这是为访问 Jet 数据库选择正确的 OLE DB 提供商,单击下一步,6.5 ADO数据控件,DataReport控件,指定数据库,测试连接,6.5 ADO数据控件,DataReport控件,点击鼠标右键,出现菜单

11、,选择添加子命令,出现Command属性页,选择表,选择基本情况表,6.5 ADO数据控件,DataReport控件,选择表,点击关联,选择学生成绩表,点击鼠标右键,出现菜单,选择添加子命令,出现Command属性页,6.5 ADO数据控件,DataReport控件,父命令来自Command1,两个表通过学号相关联,6.5 ADO数据控件,DataReport控件,在“工程”菜单上,单击“添加 Data Report”如果不在“工程”菜单上,先选择工程,部件,设计器。添加Data Report。,6.5 ADO数据控件,DataReport工作区,资源管理器列表,DataPeport需要绑定两

12、个属性,6.5 ADO数据控件,点击鼠标右键,选择插入文本框,点击鼠标右键,选择插入标签,标签CAPTION=学生成绩表,点击鼠标右键,选择插入标签,文本框两个属性绑定设置,6.5 ADO数据控件,DataReport控件,在窗体中添加一个Command控件,并填写代码如下:Private Sub Command1_Click()DataReport1.Show End Sub点击Command控件则可显示报表,DataReport1.Show,进入,必须使用ADO数据控件进行绑定的控件:,6.5 ADO数据控件,MSChart控件 DataSource,进入,基本情况表,SQL中使用SELE

13、CT语句实现查询。Data控件的RecordSource属性可以是数据表名;RecordSource属性可以是数据表中的某些行或多个数据表中的数据组合。直接在Data控件的RecordSource属性栏中输入SQL,或在代码中通过SQL语句将选择的记录集赋给数据控件的RecordSource属性。,6.6 VB中的SQL实现,6.6 VB中SQL的实现,例6.8 使用SQL语句实现查找功能,显示某专业的学生记录。使用SQL语句查询,命令按钮Command5_Click事件代码如下:,6.6 VB中的SQL实现,进入,6.6 VB中的SQL实现,Private Sub Command5_Clic

14、k()Dim mzy As String mzy=InputBox$(请输入专业,查找窗)Data1.RecordSource=Select*From 基本_情况 Where 专业=&mzy&Data1.Refresh If Data1.Recordset.EOF Then MsgBox 无此专业!,提示 Data1.RecordSource=基本情况 Data1.Refresh End IfEnd Sub,短语指定数据来源;Where 专业=&mzy&短语构成查询条件,用于过滤表中的记录,对于未查找到记录情况的处理,激活RecordSource的变化,6.6 VB中的SQL实现,Privat

15、e Sub Command5_Click()Dim mzy As String mzy=InputBox$(请输入专业,查找窗)Data1.RecordSource=Select*From 基本_情况 Where 专业=&mzy&Data1.Refresh If Data1.Recordset.EOF Then MsgBox 无此专业!,提示 Data1.RecordSource=基本情况 Data1.Refresh End IfEnd Sub,如果使用模糊查询语句可改写如上,专业 like*&mzy&*,进入,例6.9 用SQL语句从Student.mdb数据库的两个数据表中选择数据构成记录

16、集,并通过数据控件浏览记录集。,6.6 VB中的SQL实现,进入,Data控件的属性设置DatabaseName属性:Student.mdb,RecordSource属性:空缺各文本框的属性DataSource=Data1,DataField属性分别设置为学号、姓名、课程、成绩,而照片字段绑定图形框。本例要求从两个实表中选择字段构成虚表。从基本情况中选择学生的学号、姓名、照片,从学生成绩表中选择该学生的课程和成绩来构成记录集。,6.6 VB中的SQL实现,实现方法:在Form_ Load事件中使用SQL语句,6.6 VB中的SQL实现,Private Sub Form_Load()Data1.

17、RecordSource=Select 基本情况.学号,基本情况.姓名,基本情况.照片,学生成绩表.课程,学生成绩表.成绩 From 学生成绩表,基本情况 Where 学生成绩表.学号=基本情况.学号End Sub,进入,例6.10 用SQL指令按专业统计Student.mdb数据库中各专业的人数,并统计平均成绩前5名的学生,要求按下图所示形式输出。,6.6 VB中的SQL实现,进入,窗体中的控件为Data控件和网格控件MSFlexGrid1。Data1的DatabaseName属性:Student.mdb;RecordSource属性:空缺网格控件的DataSource:Data1。分组查询

18、:为了统计各专业的人数,对基本情况表内的记录按专业分组。使用Group By专业语句,将同一专业的所有记录合为一组新记录。命名别名:要记录统计结果,需要构造一个新的输出字段,使用SQL的统计函数Count()作为输出字段,它按专业分组创建统计值。由于在表中没有表示该内容的字段名,可用As短语命名一个别名,6.6 VB中的SQL实现,按专业统计人数按钮的指令代码为:,6.6 VB中的SQL实现,Private Sub Command1_Click()Data1.RecordSource=Select 专业,Count(*)As 人数 From 基本情况 Group By 专业 Data1.Ref

19、reshEnd Sub,如需要 按平均成绩统计前5名 按钮指令代码为:,6.6 VB中的SQL实现,Private Sub Command2_Click()Data1.RecordSource=Select Top 5 学号,Avg(成绩)As 平均成绩 From 学生成绩表 Group By 学号 Order By Avg(成绩)Desc Data1.RefreshEnd Sub,Avg(成绩)计算该学生的平均成绩,Order By Avg(成绩)Desc按平均成绩的降序排列数据,Group By 学号将同一学生的各门课程的记录合并成一条记录,Top 5短语返回最前面的5条记录,恢复原表内容

20、按钮的指令代码为:,6.6 VB中的SQL实现,Private Sub Command3_Click()Data1.RecordSource=基本情况 Data1.RefreshEnd Sub,进入,例6.11使用ADO数据控件,用SQL语句从Student.mdb数据库的两个数据表中选择数据构成记录集。,6.6 VB中的SQL实现,进入,使用ADO数据控件Adodc1;各文本框的Datasource=Adodc1,DataField属性分别设置为学号、姓名、课程、成绩,而字段照片绑定图形框。ADO数据控件的数据源采用连接字符串的方式连接;属性设置为与数据源连接的相关信息,数据链接属性设置与S

21、tudent.mdb的数据连接。,6.6 VB中的SQL实现,记录源设置如下,6.6 VB中的SQL实现,select 学生成绩表.*,基本情况.姓名,基本情况.照片 from 学生成绩表,基本情况 where 学生成绩表.学号=基本情况.学号,进入,例6.12 设计一个窗体,计算Student.mdb数据库内学生成绩表中每个学生的平均成绩,产生姓名、平均成绩和最低成绩三项数据,按平均成绩降序排列数据,并用该数据作图。,6.6 VB中的SQL实现,进入,绘制图表使用MsChart。MsChart控件需要通过工程|部件命令,将MSChart控件添加到工具箱。MSChart1的DataSource

22、绑定:Adodc1将Adodcl的RecordSource属性设置为SQL语句:,6.6 VB中的SQL实现,Select 基本情况.姓名,Avg(成绩)As 平均成绩,Min(成绩)As 最低成绩 From 学生成绩表,基本情况 Where 学生成绩表.学号=基本情况.学号 Group By 姓名 Order By Avg(成绩)Desc,学生成绩表中没有平均成绩和最低成绩这两项数据,在SELECT子句中使用统计函数Avg()和Min()产生;学生成绩表中没有姓名字段,故需要多表查询,通过条件基本情况.学号=学生成绩表.学号从基本情况表获取。Group By 姓名可将同一学生的记录合并成一条

23、新记录。,6.6 VB中的SQL实现,在CS结构中用ODBC与数据库连接和数据操作。例6.13 使用ADO数据控件和ODBC 技术,设计一个简单窗体,显示Student.mdb数据库的基本情况表。,6.7 VB中使用ODBC,6.7 VB中使用ODBC,进入,步骤1:在窗体上放置ADO数据控件,控件名采用默认名Adodcl。,6.5 ADO数据控件,步骤2:在ADO控件按鼠标右键,选择ADO属性时,弹出属性页对话框。,6.5 ADO数据控件,使用ODBC数据资源名称 可以通过下拉式列表框,选择某个创建好的数据源名称(DSN),作为数据来源对远程数据库进行控制,步骤3:在创建新数据源对话框,选择

24、数据源,6.5 ADO数据控件,只有创建者能访问的数据库文件,登录该机器的任何用户都能访问的数据库文件,所有用户均可以访问的数据库文件,数据源名就是系统知道的数据库文件名。数据源名只要生成一次,此后任何应用程序都可以使用。如果系统中没有数据源名,则需生成新的数据源名,步骤4:在创建新数据源对话框,选择驱动器,6.5 ADO数据控件,选择Microsoft Access Driver,步骤5:在属性页对话框,选择使用ODBC数据资源名称,6.5 ADO数据控件,使用ODBC数据资源名称 可以通过下拉式列表框,选择某个创建好的数据源名称(DSN),作为数据来源对远程数据库进行控制,6.7 VB中使

25、用ODBC,步骤6:单击“完成”按钮,生成数据源。指定的Access数据库赋予新建的数据源。出现在ODBC Microsoft Access 安装窗口中,操作步骤如下:,设置数据源名为Student1,指定一个Access数据库Student.mdb赋予新建的数据源Student1,步骤6:展开下拉清单,并选择student1数据源。,6.7 VB中使用ODBC,student1数据源已经注册到系统上,不必再次生成。它会自动出现在ADO数据控件属性页的使用ODBC数据资源名称下拉清单中,进入,例6.14 ADO数据控件使用自己的高级约束数据控件,即DataList和DataCombo控件。,6

26、.7 VB中使用ODBC,进入,DataList,DataCombo,DataCombo控件属性设置 DataSourceAdodc1,DataFiled出生年月 RowSource=Adodc1,ListFiled出生年月DataList控件属性设置 RowSource=Adodc1,ListField=学号。,6.7 VB中使用ODBC,DataList控件 vRowSource,ListFiled,DataCombo控件 DataSource,DataFiled,ListFiled,设置下拉菜单中的字段,设置文本中显示的字段,DataList控件中所选的学号对约束数据控件没有影响。如要在

27、DataList清单中每次选择另一学号时,同时移动ADO数据控件,需要加入一些代码:,6.7 VB中使用ODBC,Private Sub DataList1_Click()Adodc1.Recordset.Bookmark=_ DataList1.SelectedItem End Sub,返回一个值,包含 DataList 控件中选中的记录的书签。,6.5.5 ADO对象编程,6.5.5 ADO对象编程,一.ADO对象(一)ADO对象介绍ADO是ActiveX Data Obiect的缩写,是建立在OLE DB之上的高层数据库访问技术。ADO被设计用来同新的数据访问层OLE DB Provid

28、er一起协同工作,以提供通用数据访问(Universal Data Access)。OLE DB是一个低层的数据访问接口,用它可以访问各种数据源,包括传统的关系型数据库,以及电子邮件系统及自定义的商业对象.,6.5.5 ADO对象编程,(二)ADO对象最基本的操作流程:初始化COM库,引入ADO库定义文件:用Connection对象连接数据库;利用建立好的连接,通过Connection、Command对象执行SQL命令,或利用Recordset对象取得结果记录集进行查询、处理;使用完毕后关闭连接释放对象。,6.5.5 ADO对象编程,Sub ConnectionExample()Dim cnn

29、 as ADODB.connection Set cnn=new ADODB.connection 通过ODBC DSN打开数据库 cnn.open pubs,sa,检查是否成功建立连接对象 if cnn.state=adStateOpen then msgbox Welcome to pubs!else msgbox Sorry,no pubs!end 关闭连接对象 cnn.closeEnd sub,使用 Open 方法建立到数据源的物理连接,pubs是SQL Server 安装附带的数据库,sa为system administrator,使用 Close 方法切断其到数据源的物理连接,指示

30、对象是打开的,6.5.5 ADO对象编程,Set 语句将对象引用赋给变量或属性。语法:Set objectvar=New objectexpression|Nothing,6.5.5 ADO对象编程,声明对象变量声明对象变量的方法和声明其它变量一样,要用 Dim、ReDim、Static、Private 和 Public。仅有的不同在于可选的 New 关键字和 Class 参数。语法如下:Dim|ReDim|Static|Private|Public variable As New class例如:Dim cnn as ADODB.connection Set cnn=New ADODB.Co

31、nnection例如:Dim cnn As New ADODB.ConnectionNew 关键字为可选项。可隐式地创建对象的关键字。如果使用 New 来声明对象变量,则在第一次引用该变量时将新建该对象的实例,因此不必使用 Set 语句来给该对象引用赋值,两条语句等价于下面一条语句,Open 方法(ADO Connection)功能:打开到数据源的连接。语法connection.Open ConnectionString,UserID,Password,OpenOptions以下参数均为可选项ConnectionString:包含连接信息的字符串。UserID:包含建立连接时所使用的用户名称。

32、Password:字符串,包含建立连接时所用密码。OpenOptions:ConnectOptionEnum 值。如果设置为 adConnectAsync,则异步打开连接。如果设置为ConnectComplete当连接可用时将调用该事件。,6.5.5 ADO对象编程,二.用ADO操纵数据库使用ADO操作数据库的主要步骤和方法:打开数据库。首先需要创建数据库连接对象(connection),然后调用该对象的Open方法即可打开数据库。操作数据库数据。在数据库打开之后,通过Connection、Command对象执行SQL命令,或者创建记录集(Recordset)对象,使用该对象的各种方法就可以进

33、行数据库数据的查询、定位以及增加、删除和修改。关闭数据库。使用上面创建的数据库连接对象的close方法就可以进行数据库的关闭。,6.5.5 ADO对象编程,Connection对象的创建、连接以及关闭数据库的方法:,6.5.5 ADO对象编程,(一)AD0连接数据库1连接到ODBC数据源的参数设置Microsoft ODBC Provider允许ADO连接到任何ODBC的数据源。,(1)指定DSN或FileDSN的语法如下:,set con=new ADODB.connection con.OpenProvider=MSDASQL;DSN=name|FileDSN=filename;DATAB

34、ASE=databasename;PWD=password,MSDASQL为默认值:Provider的默认参数值可以省略.,DSN或FileDSN,可通过Windows控制面板“中的ODBC管理器进行定义,set con=new ADODB.connection con.Open DRIVER=drivername;SERVER=servername;DATABASE=databasename;PWD=password,6.5.5 ADO对象编程,(2)无DSN(非DSN连接)的语法如下:,set con=new ADODB.connection con.Open provider=Micro

35、soft.Jet.OLEDB.4.0;Data Source=c:library.mdb;_&Persist Security Info=False,6.5.5 ADO对象编程,2连接到Access数据文件ConnectionString参数设置可以使用指定OLE DB提供者和连接字符串来连接Access数据文件。例如:,c:library.mdb为数据库的路径和名称。,set con=new ADODB.connection con.OpenProvider=4.0;DataSource=c:library.mdb;&_ User ID=rose;rose可为管理员名 Password=sa

36、;sa为系统管理员密码 Persist Security Info=True,6.5.5 ADO对象编程,如果数据库有密码,则:,6.5.5 ADO对象编程,如果数据库是局域网其他计算机上的,那么这个数据库所在的位置,至少上一层目录为共享目录:,set con=new ADODB.connection con.OpenProvider=MicrosoftJetOLEDB40;DataSource=qyKongdata library.mdb;&_ User ID=rose;Persist Security Info=False,“qyKongdatalibrary.mdb”为在网络邻居中名为q

37、yKong的机器上(IP也可以)的data文件夹下的名为library的Access数据。,6.5.5 ADO对象编程,3连接到SQL Server数据源参数设置以下范例通过打开3个使用不同提供者的Connection对象演示Provider属性,还使用 DefaultDatabase属性设置Microsoft ODBC提供者的默认数据库。,Private Sub Providerx()Dim cnn1 As ADODB.Connection Dim cnn2 As ADODB.Connection Dim cnn3 As ADODB.Connection,6.5.5 ADO对象编程,使用Mi

38、crosoft ODBC提供者打开数据库Set cnn1=New ADODB.Connection cnn1.ConnectionString=driver=SQL Server;_pwd=pwd cnn1.Opencnn1.DefaultDatabase=pubs 显示提供者MsgBox cnn1 provider:&cnn1.Provider,Open方法:打开一个到数据源的连接格式:connection.Open ConnectionString,UserID,Password,为数据库所在服务器名,数据库名,6.5.5 ADO对象编程,使用Microsoft Jet提供者打开数据库Se

39、t cnn2=New ADODB.Connectioncnn2.Provider=Microsoft.Jet.OLEDB.3.51cnn2.Open c:databasestudent.mdb,admin 显示提供者MsgBox cnn2 provider:&cnn2.Provider,6.5.5 ADO对象编程,使用Microsoft SQL服务器提供者打开数据库 Set cnn3=New ADODB.Connection cnn3.Provider=sqloledb SQLServer联机服务器提供的oledb cnn3.Open Data source=srv;Initial Catal

40、og=pubs;,sa 显示提供者 MsgBox cnn3 provider:&cnn3.Provider cnn1.Close cnn2.Close cnn3.CloseEnd Sub,定义的数据源名,6.5.5 ADO对象编程,ODBC-File DSN连接,方法:cnn.Open filedsn=c:somepathmydb.dsn;uid=admin;pwd=;,方法:cnn.Open dsn=advWorks;uid=admin;pwd=;,通过以上介绍,可以总结出ADO与不同数据库连接所使用的连接字符串如下:ODBC连接ODBC-DSN连接,与IIS一同安装并位于 C:InetPu

41、b ASPSamp AdvWorks的数据源 AdvWorks.mdb,6.5.5 ADO对象编程,方法:cnn.Open driver=Microsoft Access Driver(*.mdb);,ODBC连接ODBC Driver for Access,VB提供的数据源驱动程序,允许ADO访问 Access数据库,6.5.5 ADO对象编程,ODBC连接ODBC Driver for SQL Server,方法:cnn.Open driver=SQL Server;server=myServerName;_,VB提供的数据源的驱动程序,允许ADO访问SQL Server数据库,6.5.5

42、 ADO对象编程,OLE DB Provider连接OLE DB Provider For Microsoft Jet,方法:con.Open provider=Microsoft.Jet.OLEDB.4.0;_,VB提供的连接字符串,允许 ADO 访问 Microsoft Jet 数据库,6.5.5 ADO对象编程,OLE DB Provider连接OLE DB Provider For ODBC DatabaseAccess(Jet)方法:,cnn.Open Provider=MSDASQL;driver=Microsoft Access Driver(*.mdb);_,Microsoft

43、 ODBC Provider 允许 ADO 连接到任何 ODBC 的数据源,该连接字符串为ADO 的默认ODBC提供者,6.5.5 ADO对象编程,cnn.Open Provider=MSDASQL;driver=SQL Server;server=myServerName;_,OLE DB Provider连接OLE DB Provider For ODBC DatabaseSQL Server方法:,6.5.5 ADO对象编程,(二)用记录集(Recordset)对象操纵数据记录集(Recordset)对象是ADO操作中最常用的对象。,Open方法(ADO)Recordset 功能:打开游

44、标。所谓游标是从数据源返回的满足 SQL 语句所规定的条件的行的集合。recordset.Open Source,ActiveConnection,CursorType,LockTypeOpen后面的参数均为可选项参数Source:指定Command 对象的变量名、SQL 语句、表名、存储过程调用或基本Recordset 文件名。ActiveConnection:指定有效 Connection 对象变量名;或字符串,包含ConnectionString参数。,CursorType:确定提供者打开 Recordset 时应该使用的游标类型。可为下列常量之一,健相当于书签,只可根据健集的健值,添加

45、、改变、获取或删除基础数据库表或表的行。,行的动态集合,动态添加、改变、获取或删除基本数据库表或表的行。,打开客户端 Recordset 对象时唯一允许使用的游标类型,使用这个游标相当于结果集的副本。,LockType:参数指定锁定类型以支持并发,参数可为下列常量之一,6.5.5 ADO对象编程,1创建、打开RecordSet对象以及浏览数据记录下面来学习一个例子:,Sub ADOopenRecords()Dim cnn As ADODB.Connection Dim rst As ADODB.Recordset Dim fld As ADODB.Field 打开连接cnn.Openprovi

46、der=Microsoft.Jet.OLEDB.4.0;Data Source=c:northwind.mdb;,6.5.5 ADO对象编程,打开方式 forward_only,read_only rst.Open select*from customers where region=WA,cnn,adOpenForwardOnly,游标只能在记录中向前滚动 adLockReadOnly 只读功能,ActiveConnection,这两行均为默认值,数据库northwind中的表,6.5.5 ADO对象编程,Move,MoveNext,MoveFirst等方法,和DAO相同。,输出第一个记录的

47、所有字段值For Each fld In rst.Fields fld为字段 Debug.Print fld.Value NextDebug.Print rst.Close cnn.CloseEnd Sub,Debug.Print在调试窗口的立即面板中输出,6.5.5 ADO对象编程,2查询数据记录ADO的查询数据库记录的方法和DAO有所不同,DAO可以利用Recordset对象的FindFirst、FindNext、FindLast、FindPrevious方法。ADO只有Find方法。Find(ADO)方法的调用语法是:,RstName.Find Criteria,SkipRecords,

48、SearchDirection,Start,Criteria:字符串类型,包含用于搜索的指定列名、比较操作符和值的语句。比较只是针对于表中的单个字段。比较符仅限于=、=、=和LIKE;,6.5.5 ADO对象编程,使用Like操作符允许查找一个字符串,字符串由单引号分隔(如“state=WA”);日期值以“#”(数字记号)分隔(如“start_date#7/22/97#”)。不能使用双引号(“)。使用Like操作符,可以用星号(*)作为字符串值中的通配符。星号必须是值中的最后一个字符或值中的唯一字符,或者“_”(某字符只出现一次)。例如“state like M_”与 Maine 匹配。sta

49、te like M*”与Massachusetts 匹配。SkipRecords是长整型值,默认值为零。它指定当前行或 start 书签的位移以开始搜索。,searchDirection指定搜索应从当前行还是搜索方向上的下一个有效行开始。其值可为 adSearchForward 或 adSearchBackward。搜索停止在记录集的开始还是末尾则取决于 searchDirection 值。start变体型书签,用作搜索的开始位置。,6.5.5 ADO对象编程,3增、删、改数据记录ADO用与DAO采用相同的方法进行添加、删除操作。唯一不同点要先建立一个connection对象。ADO还提供了一

50、种快捷的添加方式.,修改现有记录时,ADO不需要调用Edit方法,直接对当前记录某字段属性赋值之后调用update方法就可以实现。,6.5.5 ADO对象编程,(三)ADO运行的查询语句使用Connection对象的Execute方法,执行在 CommandText属性中指定的查询、SQL 语句或存储过程。查询内容由该方法的参数确定。语法:不返回查询的命令:,connectionExecute CommandText,RecordsAffected,Options,如果该命令为不按行返回查询,则返回时关闭 Recordset 对象。,6.5.5 ADO对象编程,Set recordset=co

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号