第13章 VB访问SQL-Server_第1页
第13章 VB访问SQL-Server_第2页
第13章 VB访问SQL-Server_第3页
第13章 VB访问SQL-Server_第4页
第13章 VB访问SQL-Server_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Visual basic与SQL Server 2005 清华大学出版社第第1313章章 Visual BasicVisual Basic访问访问SQL-Server SQL-Server u13.1 13.1 数据控件数据控件u13.2 ADO13.2 ADO数据控件数据控件 u13.3 13.3 对象的链接与嵌入对象的链接与嵌入 Visual basic与SQL Server 2005 清华大学出版社本章要点本章要点u数据控件的常用属性和方法u记录集的属性与方法u数据网格控件的使用方法u常用数据绑定控件的使用uADO控件的常用属性和方法u利用数据控件实现记录的移动、增加、删除和修改的方法u

2、OLE控件常用属性与方法Visual basic与SQL Server 2005 清华大学出版社DataData控件控件 Data控件是把数据库和数据绑定控件连接起来的桥梁,通过设置Data控件的属性,可以让它连接到某个数据库并能指定访问该数据库中的某个表或执行SQL语句访问多个表。Data控件将数据库中的指定数据提取出来,并放在一个记录集(Recordset)中。记录集可看成是内存中的虚拟表,它的数据可来源于表、视图或SELECT语句执行后得到的记录的集合 。 13.1 13.1 数据控件数据控件 Visual basic与SQL Server 2005 清华大学出版社1、Connect属性

3、 Connect属性指定数据库类型,在该属性名的后面有一个列表框,用户可以直接从该列表框中选择属性值。如果要使用在列表中没有列出的数据库类型,如SQL Server,可使用ODBC连接字符串与之进行连接。使要访问SQL Server数据库CollegeMIS,可使用如下的连接字符串:ODBC;Driver=SQL Server;Server=TAHSJ;UID=sa;PWD=tah980808;Database=CollegeMIS 。13.1.1 数据控件的属性数据控件的属性Visual basic与SQL Server 2005 清华大学出版社2、 DatabaseName属性 Datab

4、aseName属性用来指定具体使用的数据库。如果要连接到的数据库文件包含多张表,如Microsoft Access数据库,就要把该属性设置为数据库文件名(如:MDB文件的文件名,Access数据库的所有表都包含在一个MDB文件中)。如果连接到只由一张表构成的数据库(如dBase、FoxPro或Paradox数据库),则应把该属性值设置为对应的子目录名,在该子目录下存放了数据库文件。 13.1.1 数据控件的属性数据控件的属性Visual basic与SQL Server 2005 清华大学出版社3、RecordSource属性 RecordSource属性确定具体可访问的数据,可以是数据库中的

5、单个表或一个存储查询,也可以是SQL- SELECT语句。由RecordSource确定的具体可访问的数据构成的记录集(Recordset)也是一个对象,该对象也具有属性、方法和事件 。 4、 RecordSetType属性 RecordSetType属性用来确定记录集类型,取值有:Table(表)、Dynaset(动态集)和Snapshot(快照)。13.1.1 数据控件的属性数据控件的属性Visual basic与SQL Server 2005 清华大学出版社5.ReadOnly属性该属性用于控制能否对记录集中的数据进行写操作。当ReadOnly属性设置为True时,不能对记录集进行写操作

6、。该属性设置为False时,可以对记录集中的数据进行修改。6.Exclusive属性该属性用于控制被打开的数据库是否允许被其他应用程序共享。如果Exclusive属性设置为True,表示该数据库被独占,其他应用程序将不能再打开该数据库。 13.1.1 数据控件的属性数据控件的属性Visual basic与SQL Server 2005 清华大学出版社7.BofAction和EofAction属性 当记录指针指向Recordset对象的开始(第一个记录前)或结束(最后一个记录后)时,数据控件的EofAction和BofAction属性的设置或返回值决定了数据控件要采取的操作。其属性的取值如表13

7、.1所示。13.1.1 数据控件的属性数据控件的属性属性取值操作BofAction0将记录指针重定位到第一个记录1移过记录集开始位置,定位到一个无效记录,触发数据控件对第一条记录的Validate事件EofAction0将记录指针重定位到最后一个记录1移过记录集结束位置,定位到一个无效记录,触发数据控件对最后一条记录的Validate事件2向记录集加入新的空记录,可以对新记录进行编辑等操作Visual basic与SQL Server 2005 清华大学出版社8.DataSource属性 该属性通过指定一个有效的数据控件连接到一个数据库上。9.DataField属性 该属性设置数据库有效的字段

8、与绑定控件建立联系。当上述控件与数据控件绑定后,VB将当前记录的字段值赋给控件。如果修改了绑定控件内的数据,只要移动记录指针,修改后的数据会自动写入数据库的表中。数据控件在装入数据库时,它把记录集的第一个记录作为当前记录。当数据控件的BofAction属性值设置为2时,记录指针移过记录集末尾,数据控件会自动向记录集加入新的空记录。 13.1.1 数据控件的属性数据控件的属性Visual basic与SQL Server 2005 清华大学出版社13.1.1 13.1.1 数据控件的属性数据控件的属性例13.1设计一个窗体,显示CollegeDB数据库中Student表的内容,并可以对所显示内容

9、进行修改。程序的设计界面如图13-1所示,程序的运行界面如图13-2所示。13.1 13.1 数据控件数据控件 Visual basic与SQL Server 2005 清华大学出版社 VB 6.0提供了几个数据网格控件(DBGrid)、(MsFlexGrid)和(DataGrid)等,可以同时在窗体上显示多个记录,几乎不用编写代码就可以实现多个记录集数据显示。现介绍数据网格控件(DBGrid)和(MsFlexGrid)的使用方法,由于数据网格控件DataGrid适合ADO控件,因此在后面介绍。 13.1.2 数据网格控件数据网格控件Visual basic与SQL Server 2005 清

10、华大学出版社1. DBGrid控件 DBGrid控件可增强程序的功能和灵活性,它还具有编辑功能:可以进行添加、修改、删除记录等操作。 当把数据网格控件DBGrid的DataSource属性设置为一个Data控件时,网格控件会被自动地填充并且其列标题会用Data控件记录集里的数据自动地设置。给用户进行浏览和编辑数据库表提供了非常方便的操作方法。 DBGrid控件是一个ActiveX控件,不是Visual Basic的标准控件,所以使用它之前需先把它加载到Visual Basic环境中。执行【工程】【部件】命令,在弹出的“部件”对话框中,选择添加“Microsoft Data Bound Grid

11、 Control”选项,即可将该控件添加到工具箱中。13.1.2 数据网格控件数据网格控件Visual basic与SQL Server 2005 清华大学出版社2.MsFlexGrid控件 MsFlexGrid控件显示记录集的数据。当把数据网格控件的DataSource属性设置为一个Data控件时,网格控件会被自动地填充并且其列标题会用Data控件的记录集里的数据自动地设置。为用户进行浏览和编辑数据库表提供了非常方便的操作方法。13.1.2 数据网格控件数据网格控件Visual basic与SQL Server 2005 清华大学出版社1.Validate事件 Validate事件是在要移动

12、记录指针前、修改与删除记录前或卸载含有数据控件的窗体时被触发的。Validate事件检查被数据控件绑定的控件内的数据是否发生变化。利用Validate事件,用户在修改记录时可以判断所输入的记录是否符合要求,只有符合要求并执行了Validate事件后,记录指针才会真正离开当前记录。Validate事件的语法格式为: Private Sub Data控件名_Validate(Index As Integer,Action As Integer,Save As Integer)13.1.3 数据控件的事件数据控件的事件Visual basic与SQL Server 2005 清华大学出版社2.Rep

13、osition事件 Reposition事件发生在一条记录成为当前记录后。只要改变记录集的指针使其从一条记录移到另一条记录,会产生Repostion事件。Repostion事件执行结束后,指针才真正到达当前的记录。 Reposition事件的语法格式为:Private Sub Data控件名_Reposition (Index As Integer)13.1 13.1 数据控件数据控件 Visual basic与SQL Server 2005 清华大学出版社 数据控件的内置功能很多,可以在代码中用数据控件的方法访问这些属性。1.Refresh方法 Refresh方法的作用是重读数据库,刷新记录

14、集,从而根据记录集内容而构建的用户界面也跟着刷新。如果在设计状态没有为打开数据库控件的有关属性全部赋值,或当RecordSource属性在运行时被改变后,必须使用Refresh方法激活这些变化。在多用户环境下,当其他用户同时访问同一数据库和表时,Refresh方法将使各用户对数据库的操作有效。13.1.4 数据控件的常用方法数据控件的常用方法Visual basic与SQL Server 2005 清华大学出版社2.UpdateControls方法 UpdateControls方法的作用是用记录集的当前记录中的数据更新绑定控件的值,即把绑定控件中的值恢复为修改前的值。因而可使用UpdateCo

15、ntrols方法终止用户对绑定控件内数据的修改,相当于用户在更改了数据之后决定取消更改。通常在“取消”或“放弃”操作中调用该方法。 13.1.4 数据控件的常用方法数据控件的常用方法Visual basic与SQL Server 2005 清华大学出版社3.UpdateRecord方法 该方法的作用是用数据绑定控件中的数据去更新数据库中的数据。用UpdateRecord方法可强制数据控件将绑定控件内的数据写入到数据库中而不再触发Validate事件。通常用于修改后的确认操作。 13.1.4 数据控件的常用方法数据控件的常用方法Visual basic与SQL Server 2005 清华大学出

16、版社 由RecordSource属性确定的具体可访问的数据构成的记录集Recordset也是一个对象,它和其他对象一样具有属性和方法。下面列出Recordset对象常用的属性和方法。1.AbsolutePostion属性 AbsolutePostion返回当前指针值,如果是第1条记录,其值为0,该属性为只读属性。2.Bof和Eof的属性 Bof判定是否在首记录之前,若Bof为True,则当前位置位于记录集的第1条记录之前。与此类似,Eof判定是否在末记录之后,如果记录指针位于最后一条记录之后,则Eof属性值为True,否则Eof的值为False。 13.1.5 记录集的属性与方法记录集的属性与

17、方法Visual basic与SQL Server 2005 清华大学出版社Bof和Eof属性具有以下特点:(1)如果记录集中没有记录,则Bof和Eof的值都是True。(2)当Bof或Eof的值成为True之后,只有将记录指针移动到实际存在的记录上,Bof或Eof属性值才会变为False。(3)若Bof或Eof为False,而且记录集中惟一的记录被删除掉,那么属性将保持False,直到试图移到另一个记录为止,这时Bof和Eof属性都将变为True。(4)当创建或打开至少含有一个记录的记录集时,第一条记录将成为当前记录,而且Bof和Eof属性均为False。 13.1.5 记录集的属性与方法记

18、录集的属性与方法Visual basic与SQL Server 2005 清华大学出版社3.Bookmark属性 Bookmark属性的值采用字符串类型,用于设置或返回当前指针的标签。在程序中可以使用Bookmark属性重定位记录集的指针,但不能使用AbsolutePostion属性。4.Nomarch属性 在记录集中进行查找时,如果找到相匹配的记录,则Recordset的NoMarch属性为False,否则为True。该属性常与Bookmark属性一起使用。 13.1.5 记录集的属性与方法记录集的属性与方法Visual basic与SQL Server 2005 清华大学出版社5.Reco

19、rdCount属性 RecordCount属性对Recordset对象中的记录计数,该属性为只读属性。在多用户环境下,RecordCount属性值可能不准确,为了获得准确值,在读取RecordCount属性值之前,可使用MoveLast方法将记录指针移至最后一条记录上。 13.1.5 记录集的属性与方法记录集的属性与方法Visual basic与SQL Server 2005 清华大学出版社6.Move方法 使用Data控件通过编程的方法进行数据库的浏览,需要使用Data控件的Recordset对象的Move方法。有5种Move方法,它们是:(1)MoveFirst方法:把记录指针移至第一条记

20、录。(2)MoveLast方法:把记录指针移至最后一条记录。(3)MoveNext方法:把记录指针移至当前记录的下一条记录。(4)MovePrevious方法:把记录指针移至当前记录的上一条记录。(5)Moven方法:向前或向后移n条记录,n为正表示向记录集的末尾移动,n为负表示向记录集的开头移动。 13.1.5 记录集的属性与方法记录集的属性与方法Visual basic与SQL Server 2005 清华大学出版社 对于表类型、动态集类型和快照类型的Recordset对象,可以使用上述所有的方法。对于仅向前类型的记录集,只能使用MoveNext和Move方法。若要对仅向前类型的记录集使用

21、Move方法,那么指定移动行数的参数必须为正整数。 13.1 13.1 数据控件数据控件 Visual basic与SQL Server 2005 清华大学出版社例13.5写一个利用按钮对CollegeDB数据库中的Student表的浏览和修改的程序,在运行时不显示Data控件,在窗体上用4个命令按钮代替例13.1中数据控件对象的4个箭头的操作。程序的设计界面如图13-10所示,程序的运行界面如图13-11所示。 13.1.5 记录集的属性与方法记录集的属性与方法Visual basic与SQL Server 2005 清华大学出版社7.Find方法 使用Data控件进行数据库查找有两种方法:

22、一种是索引查找,见Seek方法;另一种是顺序查找。Find方法进行顺序查找。使用Find方法可在指定的Dynaset或SnapShot类型的Recordset对象中查找与指定条件相符的一条记录,并使之成为当前记录。 13.1.5 记录集的属性与方法记录集的属性与方法Visual basic与SQL Server 2005 清华大学出版社4种Find方法是:(1)FindFirst方法:在记录集中查找满足条件的第一条记录。(2)FindLast方法:在记录集中查找满足条件的最后一条记录。(3)FindNext方法:在当前记录开始查找满足条件的下一条记录。(4)FrindPrevious方法:在当

23、前记录开始查找满足条件的上一条记录。4种Find方法的语法格式相同。格式:Data控件名.Recordset.Find方法条件功能:从记录集中查找满足条件的记录。 13.1.5 记录集的属性与方法记录集的属性与方法Visual basic与SQL Server 2005 清华大学出版社说明: 如果Find方法找到相匹配的记录,则记录定位到该记录,Recordset的NoMatch属性为False,如果Find方法找不到相匹配的记录,NoMatch属性为True,并且当前记录还保持在Find方法使用前的那条记录上。 搜索条件是指定字段值与常量关系的字符串表达式,除了可用普通的关系运算符构成外,还

24、可以用Like运算符构成。 13.1.5 记录集的属性与方法记录集的属性与方法Visual basic与SQL Server 2005 清华大学出版社8.Seek方法 Seek方法可在Table型记录集中查找与指定索引规则相符的第一条记录,并使之成为当前记录。格式为:记录集对象.Seek比较运算符,key1,key2说明:(1)使用Seek方法必须打开表的索引。(2)比较运算符确定比较的类型。 13.1.5 记录集的属性与方法记录集的属性与方法Visual basic与SQL Server 2005 清华大学出版社 当比较运算符为=、=,时,Seek方法从索引开始处出发向后查找。当比较运算符为

25、,=时,Seek方法从索引尾部出发向前查找。 (3)keyn参数可以是一个或者多个值,分别对应于记录集当前索引中的字段值。Microsoft Jet用这些值与Recordset对象的记录进行比较。(4)在使用Seek方法定位记录时,必须通过Index属性设置索引。若在同一个记录集中多次使用同样的Seek方法(参数相同),那么找到的总是同一条记录。13.1.5 记录集的属性与方法记录集的属性与方法Visual basic与SQL Server 2005 清华大学出版社对数据库记录的增加、删除和修改可以通过Recordset对象的AddNew,Delete,Edit,Update,Refresh方

26、法进行。它们的格式为: Data控件名.Recordset.方法名功能:引用数据控件中记录集的记录的AddNew Delete Edit Update Refresh方法。例如:Data1.Recordset.AddNew 引用追加记录方法Data1.Recordset.Delete 引用删除记录方法Data1.Recordset.Edit 引用编辑记录方法Data1.Recordset.Update 引用更新记录方法Data1.Recordset.Refresh 引用刷新记录集方法13.1.5 记录集的属性与方法记录集的属性与方法Visual basic与SQL Server 2005 清华

27、大学出版社9. AddNew方法AddNew方法将记录添加到数据表中,添加记录的操作分为三步:(1)调用AddNew方法。(2) 在数据绑定控件中输入记录数据,或给字段赋值。 格式:Recordset.Fields(字段名)=值。(3)调用Update方法,把添加的记录保存到数据库表中。 如果使用AddNew方法添加新的记录,但是没有使用Update方法而移动到其他记录,或者关闭了记录集,那么所做的输入将全部丢失,而且没有任何警告。 13.1.5 记录集的属性与方法记录集的属性与方法Visual basic与SQL Server 2005 清华大学出版社10. Delete方法 从记录集中删除

28、记录的操作分为三步:(1)定位被删除的记录使之成为当前记录。(2)调用Delete方法。(3)移动记录指针。 在使用Delete方法时,当前记录立即删除,不加任何的警告或者提示。删除一条记录后,它还是当前记录,被数据库所约束的控件仍旧显示该记录的字段。因此,必须移至记录集的另一记录上,一般移至下一记录。如果被删除的记录为最后一条记录,应该检查Eof属性。 13.1.5 记录集的属性与方法记录集的属性与方法Visual basic与SQL Server 2005 清华大学出版社11. Edit方法 数据控件自动提供了修改现有记录的能力,在直接改变被数据库所约束控件的内容后,需要单击数据控件对象的

29、任一箭头来改变当前记录,确定所做的修改。也可通过程序代码来修改记录,使用程序代码来修改记录集中当前记录的操作分为四步:(1)定位要修改的记录使之成为当前记录。(2)调用Edit方法。(3)给各字段赋值。(4)调用Update方法,确认所做的修改。 13.1.5 记录集的属性与方法记录集的属性与方法Visual basic与SQL Server 2005 清华大学出版社12.输入照片 数据表中的照片输入的方法较为简单,在窗体中添加一个图像框、一个通用对话框和一个命令按钮。命令按钮的单击事件过程代码如下:Private Sub ComPicture_Click()CMDialog1.Action=

30、1Image1.Picture=LoadPicture(CMDialog1.FileName)End Sub 13.1.5 记录集的属性与方法记录集的属性与方法Visual basic与SQL Server 2005 清华大学出版社例13.7 为CollegeDB数据库的Student表编写一个维护程序。可在例13.5的基础上增加5个按钮:添加、删除、修改、确定和取消来完成。程序的设计界面如图11.14所示。程序的运行界面如图13-15所示。程序运行时,单击“删除”按钮将删除当前记录,单击“添加”按钮将添加一条新记录,单击“修改”按钮可修改当前记录,单击“确认”按钮将把增加的新记录或对当前记录

31、的修改写入到数据库,单击“取消”按钮将取消所做的添加或修改操作。 13.1.5 记录集的属性与方法记录集的属性与方法Visual basic与SQL Server 2005 清华大学出版社例13.7 13.1.5 记录集的属性与方法记录集的属性与方法Visual basic与SQL Server 2005 清华大学出版社 ADO是ActiveX Data Object的缩写。ADO是微软公司数据库应用程序开发的新接口,是微软公司新的数据访问技术,是建立在OLE-DB之上的的高层数据库访问技术。OLE-DB是微软公司开发的一种高性能的、基于COM的低层数据访问接口,由于OLE-DB可以直接调用数

32、据提供者的数据驱动程序,所以具有性能高、速度快等特点。它可以访问各种数据源,包括传统的关系数据库等。 13.2 ADO13.2 ADO数据控件数据控件Visual basic与SQL Server 2005 清华大学出版社 ADO对象模型定义了一个可编程的分层对象集合,主要由三个对象成员Connection、Command和Recordset,以及几个集合对象Errors,Parameters和Fields等所组成。图13-16示意了这些对象彼此之间的关系。13.2.1 ADO对象模型对象模型Visual basic与SQL Server 2005 清华大学出版社表13.10是这些对象的分工描

33、述。表13.10 ADO对象描述 13.2.1 ADO对象模型对象模型Visual basic与SQL Server 2005 清华大学出版社 要想在程序中使用ADO对象,必须先为当前工程引用ADO的对象库。在Visual Basic 6.0中,有两种ADO一种是ADODB,包含在MSADO*.DLL(*代表版本号)中;一种是ADOR,包含在MSADO15.DLL中。引用这两类库的方法是执行“工程”菜单的“引用”命令,启动引用对话框,在所列清单中选取“Microsoft ActiveX Data Object 2.7 Library(ADODB)”或“Microsoft ActiveX Dat

34、a Object Recordset 2.7 Library(ADOR)”,然后单击“确定”按钮即可。 13.2.1 ADO对象模型对象模型Visual basic与SQL Server 2005 清华大学出版社 图13-17是选中了ADODB后的“引用”对话框。在这两种类型库中,ADODB功能更强大,它包含主要的ADO对象,在大多数情况下都使用该对象库。 13.2.1 ADO对象模型对象模型Visual basic与SQL Server 2005 清华大学出版社 在使用ADO数据控件前,必须先通过“工程部件”,菜单命令选择“Microsoft ADO Data Control 6.0(OLE

35、DB)”选项,将ADO数据控件添加到工具箱。ADO数据控件与VB的内部数据控件很相似,它允许使用ADO数据控件的基本属性快速地创建与数据库的连接。1.ConnectionString1.ConnectionString属性属性ConnectionString属性是一个可读写的String类型的属性,它包含了用于与数据源建立连接的相关信息。ConnectionString属性带有4个参数如表13.11所示。 13.2.2 ADO控件的常用属性控件的常用属性Visual basic与SQL Server 2005 清华大学出版社表13.11 ConnectionString属性参数13.2.2 A

36、DO控件的常用属性控件的常用属性Visual basic与SQL Server 2005 清华大学出版社2.RecordSource2.RecordSource属性属性 RecordSource确定具体可访问的数据,这些数据构成记录集对象Recordset。该属性值可以是数据库中的单个表名,一个存储查询,也可以是使用SQL查询语言的一个查询字符串。 3.ConnectionTimeout3.ConnectionTimeout属性属性 用于数据连接的超时设定,若在指定时间(默认值是15秒)内连接不成功显示超时信息。 13.2.2 ADO控件的常用属性控件的常用属性Visual basic与SQL

37、 Server 2005 清华大学出版社4.MaxRecords4.MaxRecords属性属性 定义从一个查询中最多能返回的记录数。它用来设定记录集对象能够包含的最多记录个数。Recordset对象关闭时,MaxRecords属性为可读可写,打开时为只读。13.2.2 ADO控件的常用属性控件的常用属性Visual basic与SQL Server 2005 清华大学出版社例13.8使用ADO的相应对象把数据库CollegeDB中的Student数据显示出来。程序的设计界面如图13-18所示,程序的运行界面如图13-19所示。13.2.2 ADO控件的常用属性控件的常用属性Visual ba

38、sic与SQL Server 2005 清华大学出版社 下面通过使用ADO数据控件连接CollegeDB数据库来说明ADO数据控件的使用。13.2.3 ADO控件连接数据库控件连接数据库Visual basic与SQL Server 2005 清华大学出版社 随着ADO对象模型的引入,VB 6.0除了保留以往的一些数据连接控件外,又提供了一些新的成员来连接不同数据类型的数据。这些新成员主要有DataGrid、DataCombo、DataList、DataReport、MSFlexGrid和MonthView等控件。 在绑定控件上不仅对DataSource和DataField属性在连接功能上作了

39、改进,又增加了DataMember与DataFormat属性使数据访问的队形更加完整。DataMember属性允许处理多个数据集,DataFormat属性用于指定数据内容的显示格式。13.2.4 ADO控件上新增绑定控件控件上新增绑定控件Visual basic与SQL Server 2005 清华大学出版社 DataGrid控件与ADO控件配合使用,以网格的形式显示整个Recordset对象中的所有数据。利用DataGrid控件可以方便地实现数据浏览和编辑。DataGrid控件是ActiveX控件,单击“工程”/“部件”,在打开的“部件”对话框中选择“Microsoft DataGrid C

40、ontrol 6.0 (OLEDB)”复选框即可将其加到工具箱中。13.2.4 ADO控件上新增绑定控件控件上新增绑定控件Visual basic与SQL Server 2005 清华大学出版社例13.9 利用ADO控件和数据网格控件DataGrid,实现在数据库CollegeDB的Score表中利用学号查询学生成绩的功能。查询结果显示在DataGrid数据网格控件中。 13.2.4 ADO控件上新增绑定控件控件上新增绑定控件Visual basic与SQL Server 2005 清华大学出版社 对象链接与嵌入控件OLE(Object Linking and Embedding),使得VB应

41、用程序可以访问Windows环境中其他应用程序,从而使VB能够使用其他应用程序的数据。例如Word文档、Excel工作表等,这类对象称为OLE对象。OLE可使不同的应用程序分享数据。VB能够访问的OLE对象取决于用户系统所安装的Windows的应用程序。OLE对象可以通过VB工具箱中提供的OLE控件进行加载。13.3 13.3 对象的链接与嵌入对象的链接与嵌入Visual basic与SQL Server 2005 清华大学出版社 OLE的含义是对象的链接与嵌入。通过把数据嵌入或链接VB应用程序,可以用部件的可视界面包含来自另一个应用程序的数据。OLE控件就像一个容器一样,所以又称它为OLE容

42、器控件。OLE控件处于工具箱中,它的作用是在VB应用程序中插入OLE对象使用OLE控件,可以进行如下应用:13.3.1 OLE控件概述控件概述Visual basic与SQL Server 2005 清华大学出版社(1)在VB应用程序中,为对象创建一个位置标志符(占位符)。运行时创建出现在OLE容器控件中的对象,或者改变已在设计时置于OLE容器控件中的对象。(2)在应用程序中,创建链接对象。(3)把OLE容器控件与数据库绑定。(4)当用户在OLE容器控件中移动、调整对象大小或者更新对象,执行相应的操作。(5)利用复制到剪贴板上的数据创建对象。 13.3.1 OLE控件概述控件概述Visual

43、basic与SQL Server 2005 清华大学出版社 OLE容器控件是Visual Basic提供的标准控件,其图标为,创建使用OLE容器控件的方法与其它标准控件相同。OLE控件插入对象,既可以是对象链接,也可以是对象嵌入。而且在OLE控件中所插入的对象,既可以插入整个文件,也可以插入文件的部分内容。 在窗体上添加一个OLE控件,与其他控件不同的是,此时会弹出一个“插入对象”对话框,此对话框给出了所有OLE对象类型。13.3.2使用使用OLE控件控件Visual basic与SQL Server 2005 清华大学出版社 链接与嵌入的区别在于插入到OLE控件的对象(数据)所存放的位置不同

44、。 链接一个对象时,实际上是在应用程序中插入链接对象的指针(即地址),而并非插入实际数据本身,显示在OLE控件中的数据只存在于源文件中。从任何其他的、与对象的当前数据相链接的应用程序都可以查看数据。OLE控件保存的是对象的链接信息(如,提供链接对象的应用程序名、链接文件名和链接数据的图像)。 13.3.3对象链接与嵌入的区别对象链接与嵌入的区别Visual basic与SQL Server 2005 清华大学出版社 嵌入一个对象时,OLE控件中显示的是指定文件的数据复件。当创建新对象时,调用创建对象的应用程序并可以把数据输入对象。如果将一个Word文档嵌入到VB应用程序中时,VB是将Word文

45、档本身插入到应用程序中,并将该Word文档随VB应用程序一起存储。其他的程序是不允许访问被嵌入对象的。 可见,链接与嵌入各有优缺点。嵌入到OLE控件中的数据不会丢失,但它是以占用更多的空间为代价的。链接到OLE控件中的数据虽然占用较少的空间,但是数据源容易受外界的影响而丢失。13.3.3对象链接与嵌入的区别对象链接与嵌入的区别Visual basic与SQL Server 2005 清华大学出版社例13.10在OLE控件中,插入一个Excel表的全部内容。 13.3 13.3 对象的链接与嵌入对象的链接与嵌入Visual basic与SQL Server 2005 清华大学出版社1.Actio

46、n属性该属性设置一个值,用来通知系统进行何种操作。此属性只能在程序中使用,在设计阶段不可用。Action属性共有14个值可供选择,含义如下:Action属性14个值的含义如下: 0:生成内嵌对象。 1:生成链接对象。 4:将对象的数据和属性复制到系统剪贴板。 5:将系统剪贴板中的数据粘贴到OLE容器控件 13.3.4 OLE容器控件的属性容器控件的属性Visual basic与SQL Server 2005 清华大学出版社6:从应用程序中获取当前数据并修改OLE容器控件的内容。7:激活OLE控件。9:关闭OLE对象。10:删除OLE对象。11:将对象保存到数据文件中。12:加载保存到数据文件中

47、的OLE对象。14:显示,插入对象,对话框。15:显示,特殊粘贴,对话框。17:更新对象支持的谓词列表。18:将对象以OLE Version1.0版本的文件格式保存 13.3.4 OLE容器控件的属性容器控件的属性Visual basic与SQL Server 2005 清华大学出版社2.AppIsRunning2.AppIsRunning属性属性 该属性表示源应用程序是否正在运行。设为True时,源应用程序在运行,设为False时,关闭源应用程序。这种方法可以使对象激活的更快。通常在对象失去焦点时,可以将这个属性设为False来关闭源应用程序。 3.AutoActivate3.AutoAct

48、ivate属性属性 该属性用来确定对象激活的方式。取值及含义如下: 0-Manual:手工激活。对象不能自动激活,要使用DoVerb方法来激活对象。 1-GetFocus:焦点激活。如果对象不支持单击激活,那么OLE容器控件接收到焦点时激活源应用程序。 13.3.4 OLE容器控件的属性容器控件的属性Visual basic与SQL Server 2005 清华大学出版社 2-DoubleClick:(缺省)双击激活。当OLE容器控件拥有焦点时,如果双击OLE容器控件或者按回车键,那么激活源应用程序。这种情况下双击OLE容器控件不会产生DblClick事件。 3-Autonatic:自动激活。

49、当OLE容器控件拥有焦点或者双击控件时,将根据对象的激活方法来激活源应用程序。 4.Class4.Class属性属性 该属性确定在OLE控件中插入的对象的类。 13.3.4 OLE容器控件的属性容器控件的属性Visual basic与SQL Server 2005 清华大学出版社5.DisplayType5.DisplayType属性属性 该属性确定对象在OLE控件中的显示方式。 取值为0表示显示对象的内容。 取值为1表示显示对象的图标。6.OLETypeAllowed6.OLETypeAllowed属性属性 该属性确定OLE控件所能支持的对象的插入方式。 值为0表示链接。 值为1表示嵌入。 值为2表示链接与嵌入两者都可以。 13.3.4 OLE容器控件的属性容器控件的属性Visua

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论