vb控件的使用(一)

使用ADO Data控件
ADO Data控件使用MicrosoftActiveX数据对象(ADO)来快速建立数据绑定的控件和数据提供者之间的连接。数据绑定控件是任何具有“数据源”属性的控件。数据提供者可以是任何符合OLE DB规范的数据源。使用Visual Basic的类模块也可以很方便地创建子集的数据提供者。
尽管可以在应用程序中直接使用ActiveX数据对象,但ADO Data控件有作为一个图形控件的优势(具有“向前”和“向后”按钮),以及一个易于使用的界面,使您可以用最少的代码创建数据库应用程序。

在Visual Basic的“工具箱”中,不少控件都可以作为数据绑定的控件,包括复选框、组合框、图像、标签、列表框、图片框以及文本框控件等。此外,Visual Basic还包括了若干种数据绑定的ActiveX控件,诸如DataGrid、DataCombo、Chart以及 DataList控件等。用户也可以创建自己的数据绑定的ActiveX控件,或从其他开发商购买控件。
Visual Basic以前的版本提供了内在的 Data 控件和 Remote Data 控件(RDC) 来进行数据访问。这两种控件仍包括在 Visual Basic中,以提供向后兼容。不过,因为 ADO 的适应性更广,因此建议用户使用ADO Data控件来创建新的数据库应用程序。
详细信息 关于数据绑定的控件的完整列表位于“绑定到ADO Data控件的控件”中。要了解如何使用这些内在的Data 控件或 Remote Data 控件,请参阅“使用 Data 控件”或“使用 Remote Data 控件”。关于创建数据提供者的详细信息,请参阅“创建数据识别类”。

可能的用法
连接一个本地数据库或远程数据库。
打开一个指定的数据库表,或定义一个基于结构化查询语言 (SQL) 的查询、或存储过程、或该数据库中的表的视图的记录集合。
将数据字段的数值传递给数据绑定的控件,可以在这些控件中显示或更改这些数值。
添加新的记录,或根据对显示在绑定的控件中的数据的任何更改来更新一个数据库。
要创建一个客户或前端数据库应用程序,应在窗体中添加ADO Data控件,以及其它所需要的任何 Visual Basic控件。可以根据您的需要在窗体中放置多个ADO Data控件。不过,请注意,这种控件是一种相当“昂贵”的创建连接的方法,应在第一个控件至少有两个连接,且以后的每个控件至少多一个连接时使用。

用最少的代码创建一个前端数据库应用程序
通过在设计时设置一些属性,可以用最少的代码来创建一个数据库应用程序。如果正在使用OLE DB 数据源,则相应的Microsoft 数据链接名称(DataLink Name)(.MDL) 必须是在您的机器上创建的。请参阅“创建 Northwind的OLE DB Data Link”,以获得一个循序渐进的示例。
要创建一个简单的前端数据库应用程序:
1. 在窗体上放置一个ADO Data控件(该图标的工具提示为 "ADODC")如果该控件不在“工具箱”中,请按 CTRL+T 键,显示“部件”对话框。在这个“部件”对话框中,单击“MicrosoftADO DataControl”。
2. 在“工具箱”中,单击选定“ADO Data控件”。然后按 F4 键显示“属性”窗口。
3. 在“属性”窗口中,单击“ConnectionString”显示“ConnectionString”对话框。
4. 如果您已经创建了一个 Microsoft 数据链接文件(Data Link file)(.MDL),请选择“使用 OLE DB 文件”并单击“浏览”,以找到计算机上的文件。如果使用 DSN,则单击“使用 ODBC 数据源名”,并从框中选择一个 DSN,或单击“新建”创建一个。如果想创建一个连接字符串,请选择“使用 ConnectionString”,单击“生成”,然后使用“数据链接属性”对话框创建一个连接字符串。在创建连接字符串后,单击“确定”。ConnectionString 属性将使用一个类似于下面这一行的字符串来填充:
driver={SQL Server};server=bigsmile;uid=sa;pwd=pwd;database=pubs
5. 在“属性”窗口中,将“记录源”属性设置为一个 SQL 语句。例如:SELECT * FROM Titles WHERE AuthorID = 72在访问一个表时,应始终包括一个 WHERE 子句。如果这样做失败,则会锁定整个表,这样对其他用户将是一个严重的障碍。
6. 在窗体上再放置一个“文本框”控件,用来显示数据库信息。
7. 在其“属性”窗口中,将 Text1 的“数据源”属性设为ADO Data控件的名称 (ADODC1)。这样就将这个文本框和ADO Data控件绑定在一起。
8. 在其“属性”窗口中,单击“数据字段”将下拉得到一个可用的字段列表。单击所要显示的字段的名称。
9. 对希望访问的其它每个字段重复第 6、7、8 步。
10. 按 F5 键运行该应用程序。用户可以在ADO Data控件中使用四个箭头按钮,从而允许用户到达数据的开始、记录的末尾或在数据内从一个记录移动到另一个记录。
在程序中设置 ConnectionString、Source、DataSource以及 DataField下面的代码演示了如何在程序中设置这四个属性。注意设置 DataSource 属性要使用 Set 语句。
Private Sub Form_Load()
With ADODC1
.ConnectionString = "driver={SQL Server};" & _
"server=bigsmile;uid=sa;pwd=pwd;database=pubs"
. RecordSource = "Select * From Titles Where AuthorID = 7"
End With
Set Text1.DataSource = ADODC1
Text1.DataField = "Title"
End Sub

ADO Data 控件的事件
ADO Data控件提供了若干个可以编程的事件。下表说明了这些事件及其何时产生,不过这个表不是一个关于这些事件何时发生的所有条件的完整列表。更完整的信息,请参阅各个事件的参考主题。

详细信息 如果试图循序渐进地使用ADO Data控件,请参阅“使用DataGrid 和ADO数据控件创建一个简单的数据库应用程序”,“ 创建一个简单的DataCombo应用程序”以及“创建一个连接 DataList控件的DataGrid”。

设置ADO Data控件的与数据库相关的属性
当创建连接时,您可以使用下列三种源之一:一个连接字符串,一个 OLE DB文件(.MDL),或一个 ODBC 数据源名称(DSN)。当您使用 DSN 时,则无须更改控件的任何其它属性。
不过,如果对数据库技术比较了解,可以更改在ADO Data控件中出现的其它的一些属性。下面的列表说明了该控件的与数据库相关的一些属性。这个列表同时也建议了设置这些属性的逻辑顺序。
注意 数据库技术是比较复杂的,下列的建议并不意味着一定要视为规则。
1. ConnectionString—ConnectionString 属性是一个字符串,可以包含进行一个连接所需的所有设置值。在该字符串中所传递的参数是与驱动程序相关的。例如,ODBC 驱动程序允许该字符串包含驱动程序、提供者、缺省的数据库、服务器、用户名称以及密码等。
2. UserName—用户的名称,当数据库受密码保护时,需要指定该属性。和Provider 属性类似,这个属性可以在 ConnectionString 中指定。如果同时提供了一个 ConnectionString 属性以及一个 UserName 属性,则ConnnectionString 中的值将覆盖 UserName 属性的值。
3. Password—在访问一个受保护的数据库时也是必需的。和 Provider 属性、 UserName 属性类似,如果在ConnectionString 属性中指定了密码,则将覆盖在这个属性中指定的值。
4. RecordSource—这个属性通常包含一条语句,用于决定从数据库检索什么信息。
5. CommandType—CommandType 属性告诉数据提供者 Source 属性是一条 SQL 语句、一个表的名称、一个存储过程还是一个未知的类型。
6. CursorLocation—这个属性指定光标的位置,是位于客户还是位于服务器
上。这一决策将影响您对下面几个属性的设置。
7. CursorType—CursorType 属性决定记录集是静态类型、动态类型、还是键集光标类型。
8. LockType—LockType 属性决定当其他人试图更改您正在编辑的数据时,如何锁定该数据。如何设置这个 LockType 属性是一个复杂的决策,取决于多个因素。
9. Mode—Mode 属性决定想用记录集进行什么操作。例如,如果只是想要创建一个报告,可以将该属性设为只读来获得性能的改善。
10. MaxRecords—这个属性决定光标的大小。如何决定这个属性的值取决于所检索的记录的大小,以及计算机的可用资源(内存)的多少。一个大的记录(包括很多列以及长字符串)比小记录要花费更多的资源。因此,MaxRecords 属性就不能太大。
11. ConnectionTimeout—设置等待建立一个连接的时间,以秒为单位。如果连接超时,则返回一个错误。
12. CacheSize—CacheSize 属性指定从光标中可以检索多少条记录。如果将CursorLocation 设为客户端,则这个属性只能设为一个较小的数目(可能为1),不会有任何不利的影响。如果光标的位置位于服务器端,则可以对这个数进行调整,将其设为你希望一次可以查看的行数。例如,如果使用 DataGrid 控件来查看 30 行,则可以将 CacheSize 设为 60,这样不必检索更多的数据就可以进行滚动。
13. BOFAction、EOFAction—这两个属性决定当该控件位于光标的开始和末尾时的行为。提供的选择包括停留在开始或末尾、移动到第一个或最后一个记录、或添加一个新记录(只能在末尾)。

绑定到ADO Data控件的控件
任何具有 DataSource 属性的控件都可以绑定到一个ADO Data控件。下面的内在控件都可以绑定到ADO Data控件:
复选框(CheckBox)
组合框(ComboBox)
图像(Image)
标签(Label)
列表框(ListBox)
图片框(PictureBox)
文本框(TextBox)
Visual Basic的所有版本中也提供下述数据绑定的ActiveX控件:
DataList
DataCombo
DataGrid
Microsoft Hierarchical FlexGrid
RichTextBox
Microsoft Chart
DateTimePicker
ImageCombo
MonthView
最后,用户可以使用DataBinding对象创建自己的数据绑定的ActiveX控件。
详细信息 关于自己创建数据绑定控件的详细内容,请参阅“创建数据绑定用户控件”。

时间: 2024-09-21 10:06:59

vb控件的使用(一)的相关文章

看实例学VFP:模拟VB控件数组操作标签控件

VB中有控件数组,使用它可以批量设置控件的属性,这个东西最直接的作用就是可以简化代码.今天我们在vfp中模拟VB控件数组,操作vfp中最基本的控件之一:标签控件(label).在vfp基础教程-标签控件(label)一文中对该控件的属性及用途等已经有比较详尽地描述,关于它实在是没有什么好说的了. 本文设计的这个例子是这样的:在表单激活时(Activate事件),采用类似vb控件数组的处理方式在循环语句中为各个标签设置属性,如下图1:在命令按钮的click事件中,通过单击将5个标签的caption

VB控件在C#中的使用

控件 第一步:在C#的工具条右击,在右键菜单上单击"选择项"选项,如下图 第二步:在COM组件中,选中所需的控件即可(这点和VB中完全一样)   这时候,COM控件和C#控件就一样使用了.但是,VB中的一些特有的命令,如动态数组和C#有很大不同, 请参考如下代码 VB代码:   dim lngData( ) as long call CP243Client1.ReadData(1, lngData(), 3,CP_B, CP_V) C#代码:    System.Array lngDa

JSP刷新时加载VB控件,浏览器报崩溃,求大神指点.....

问题描述 有个JSP页面,每次刷新时加载vb写的硬盘录像机控件,有时会报浏览器崩溃,求大神指点...

vb控件简介

Visual Basic控件简介 可用Visual Basic工具箱中的工具在窗体上绘制控件. 控件分类Visual Basic的控件有三种广义分类:1.内部控件,例如CommandButton和Frame控件.这些控件都在VisualBasic的.exe文件中.内部控件总是出现在工具箱中,不象ActiveX控件和可插入对象那样可以添加到工具箱中,或从工具箱中删除.2.ActiveX控件,是扩展名为.ocx 的独立文件,其中包括各种版本VisualBasic提供的控件(DataCombo, Da

vb控件的使用(二)

使用CheckBox控件 选定CheckBox控件时,这个控件将显示选定标记.通常用此控件提供Yes/No或True/False选项.可用分组的CheckBox控件显示多个选项,用户可从中选择一个或多个选项. CheckBox控件与OptionButton控件的相同之处在于,每个都是用来指示用户所作的选择.不同之处在于,对于一组OptionButton ,一次只能选定其中的一个,而对CheckBox控件,则可选定任意数目的复选框.详细信息 关于CheckBox控件的简单示例,请参阅第三章"窗体,

如何用VB写安全控件

安全|控件 总述 本文叙述了如何在VB中实现控件的IobjectSafety接口,以标志该控件是脚本安全和初始化安全的.VB控件默认的处理方式是在注册表中注册组件类来标识其安全性,但实现IobjectSafety接口是更好的方法.本言语包括了实现过程中所需的所有代码. 请注意,控件只有确确实实是安全的,才能被标识为"安全的".本文并未论及如何确保控件的安全性,这个问题请参阅Internet Client Software Development Kit (SDK)中的相关文档 &quo

在VB中动态添加可响应消息的控件

在VB编程中,经常要根据不同的情况在运行时向窗口中添加或者删除控件,而各个控件还要响应各种事件.在一般的情况下是首先在设计时将控件加入到窗口中,在它们的各个事件中写入代码,然后将它们的Visible属性设置为False.在运行时再使控件显示出来,但是这样既不方便同时也因为在设计时在窗口中加入太多的控件而使得程序的运行速度变慢.下面我向大家介绍一种通过编程在运行时动态添加和删除控件的方法 首先建立一个工程文件,然后在Form1中加入以下的代码: Dim WithEvents cmdMyComman

C++Builder中实现控件数组的功能

Borland C++ Builder作为Inprise(原Borland)公司新推出的快速应用程序开发工具(RAD),具有威力强大的C++语言和快捷便利的可视化编程完美结合的优点,遗憾的是其没有直接提供像VB中的控件数组的功能,需要开发者自己编程实现. VB中的一个控件数组可以 允许多个控件共享同一个事件句柄 提供了运行期间增加一个控件的机制 提供了一种方便的组合控件的方法. 前两项在C++ Builder中早已实现,而且CB更有一个优点.即不同类型的控件可以使用相同的句柄(只需在相关控件的O

看实例学VFP:文本框控件

文本框控件(textbox)主要用于接收或显示数据,在vfp中是一个常用控件,差不多每个程序都要用到它.vfp基础教程-文本框(textbox)控件及vfp基础教程-数组中已经分别对文本框控件和数组做了介绍,本文来设计一个将这二者结合起来应用的例子. 关于文本框控件数据源的处理: 如果在表单中使用数据环境,可以在"数据环境设计器"中拖动表的各个字段到表单上,系统会自动生成各个字段对应的标签及文本框,并且文本框的数据源会自动与表中对应的字段绑定,这是一种处理方式:另外也可以不使用数据环境