【 tulaoshi.com - 编程语言 】
在使用以前版本的VisualBasic(或简称VB)开发应用程序时,程序开发人员通常需要同时打开两个应用程序——VisualBasic和一个数据库管理程序(例如Access)。现在,这些本来应该由数据库设计人员完成的任务已经成为VisualBasic集成环境的一个部分,而且,在设计完成上述任务时,VB6.0提供的一些数据工具在某些方面比数据库本身提供的工具还要好用得多。例如,我们在使用MicrosoftSQLServer6.5提供的数据库工具进行数据库结构设计时,就会发现,要更改某个已经建成的数据库表结构是一件非常麻烦的事情。但利用VB6.0提供的数据视图(DataView)却象使用Access数据库一样方便。下面,我就根据自己的应用体会,谈谈VB6.0的新增数据库工具的特点及使用方法。本文所举的例子用到的语言是VB6.0简体中文企业版,用到的数据库是MicrosoftSQLServer。
DataView(数据视图)窗口
DataView窗口是VB6.0工作区的第一个组成元素,就象属性(Properities)窗口和工具栏一样,它可以依附在VB6.0的工作区的边界上。DataView的功能与VB中的可视化数据管理器(VisData)有点相似。可以从工具栏或“视图”菜单打开DataView。
DataView窗口显示当前为数据库建立的所有连接,以及加入到数据库中的数据环境(DataEnviroment)连接。有了DataView,我们就可以创建并修改表和视图、数据库视图以及存储过程和触发器等。这样,我们在开发应用程序时,就不需要在VB和数据库管理程序之间来回切换,而是可以随时利用这个窗口建立应用程序所需的各种数据连接和数据环境,并对数据库表和查询等进行创建和修改。同时,还可以使用VB6.0所提供的其他工具,很方便地把浏览窗口中的数据字段拖到查询设计器(QueryDesigner)和数据报表设计器(DataReportDesigner)窗口中,从而很容易地建立一个查询或报表。
下面举一个新建“MicrosoftSQLServer”数据视图的例子。在执行下列步骤之前,需要在控制面板中的“32位ODBC数据源”中建立一个与SQLServer数据库连接的“系统数据源”(SystemDataSources)。假设我们已经建立了一个有关资金管理系统库的链接“DSN_Funds”。
*单击“视图”菜单,并选择“数据视图窗口”命令;
*在“数据链接属性”(DataLinkProperties)窗口的“提供方”(Provider)标签中选择“MicrosoftOLEDBProviderforODBCDrivers”,单击“继续”(Next)进入“连接”(Connection);
*在“连接”标签中,使用“指定数据源”(Specifythesourcesofdata)项,再选择“使用数据源名”(Usedatasourcename),单击下拉选择框,并选择我们已经建立的系统数据源“DSN_Funds”;如果要检测连接情况,可以单击“测试连接”(TestConnection),如果出现测试连接成功的提示,说明连接正确。
*按“确定”就完成了一个“数据视图窗口”的建立。这时,在数据视图窗口的“数据链接”下会出现“DSN_Funds”。
DataEnvironmentDesigner(数据环境设计器)
DataEnvironment是VB6.0提出的一个新概念,也是本文将要介绍的重点。它可以将许多单独使用的对象和控件组合成一个单独的环境,建成后的这个数据环境可用来访问任何数据库、查询或加入其中的存储过程。这样,我们就不用再担心程序中有多处地方用到了某个数据库的引用,只需作一处改动,应用程序中的其他有关地方也会作出相应变动。这就给我们开发应用程序带来极大的方便。从某种角度看,DataEnvironment的作用相当于一个通用的Data控件,它可以在任何情况下使用,可以连接到所有的数据库、表以及只含一个查询或表的对象上,而不仅仅局限于连接到某个查询或表上。
数据环境设计器为我们提供了一种可以很容易访问VB工程中数据的方式。在以前的版本中,在设计时使用ActiveXUserConnection设计器创建远程数据对象(RemoteDataObjects)(RDO)。现在,我们可以在设计时使用数据环境设计器创建ADO对象。数据环境设计器除了支持UserConnection设计器的所有功能外,还支持:1)Connection、Command和MultipleConnection(多连接,即在一个数据环境中访问多个数据源)对象;2)OLEDB数据源和ODBC数据源。3)拖放功能,即从数据环境设计器中拖动字段和表到一个窗体或数据报表ActiveX(DataReportActiveX)设计器中,在窗体中自动地创建数据绑定控件。4)执行包含在数据环境中、作为编程的运行时方法的command。5)对绑定到窗体中控件的数据环境进行编程访问。6)关联Command对象创建一个关系层次结构的能力,或对Command对象分组创建一个分组层次结构的能力,以及创建合计的能力和手工绑定数据识别控件到一个Command对象中的Field对象的能力。7)数据环境扩展性对象模型,该模型允许您创建外接程序。这些外接程序可以通过编程操作VisualBasic工程中的任何DataEnvironment对象。
下面将介绍如何在VB工程中创建一个数据环境对象,以及如何在应用程序中使用数据环境中的对象。
假如我们要创建一个DataEnvironment(数据环境)用来访问MicrosoftSQLServer中的资金数据库——DSN_Funds。这个数据环境对象将作为VB工程的一部分被保存到文件中,文件的扩展名为.DSR,该扩展名代表设计工具。
在可以访问数据环境设计器之前,必须在VisualBasic中引用它。要引用数据环境设计器,请按照以下步骤执行:
*在“工程”菜单中,单击“引用..."。
*从“引用..."对话框中,选择“MicrosoftDataEnvironment1.0",然后单击“确定”。
要添加一个数据环境设计器对象到一个VB工程,请按照以下步骤执行:
*从“新建工程”对话框的“新建”选项卡中,选择“标准EXE"工程,然后单击“打开”。
*从“工程”菜单中,选择“更多ActiveX设计器...”中的“DataEnvironment"。
一旦在VB工程中添加了一个数据环境(DataEnvironment1),数据环境设计器就自动地包括一个新的连接(Connection1)。在设计时,数据环境打开连接并从该连接中获得元数据,包括数据库对象名、表结构和过程参数。我们使用下面的步骤来指定数据环境中新建Connection1对象的属性。
*在VB"属性”窗口中,可以将缺省的“名称”更改为一个更有意义的名字。例如,数据源是SQLServerDSN_Funds数据库,就可以将Connection1更改为“Cnt_DSN_Funds"。
*用鼠标右键单击Connection1对象并选择“属性”,以访问“数据链接属性”对话框。
*进入“数据链接属性”对话框,在“提供方”选项卡中选择“MicrosoftOLEDBProviderforODBCDrivers”,在“连接”选项卡中指定数据源“DSN_Funds”。
*单击“确定”。
还有一个更简便的方法来建立一个新的连接。即从“数据视图”窗口中将一个连接拖动到数据环境设计器,自动地创建Connection对象。对于在“数据视图”中已存在的Connection对象,用这种方式创建Connection对象是非常容易和高效的。
设定完Connection1的属性后,就可以在这个连接对象中创建命令(Command)对象了。Command对象定义了从一个数据库连接中获取何种数据的详细信息。Command对象既可以基于一个数据库对象(例如:一个表、视图、存储过程),也可以基于一个结构化查询语言(SQL)查询。
要创建一个Command对象,可以采用以下步骤或方法:
*在数据环境设计器工具栏中单击“添加命令”。或右键单击一个Connection对象或数据环境设计器,并从快捷方式菜单中选择“添加命令”。
*一旦一个Command对象被添加,数据环境视图就显示新的Command对象。这个对象的缺省名字是“Command"和加在后面的一个数字,例如:Command1。
*指定Command1对象的属性。即右键单击Connection1对象并选择“属性”访问“Command属性”对话框。在对话框中,有“通用”、“关联”、“分组”和“合计”选项卡,分别定义该数据库