VB数据库操作控件Data详细使用说明
如何在VB中连接数据库
如何在VB中连接数据库我们对数据库进行操作时,一方面要使用户可以在程序界面上对需要的数据进行访问;另一方面可以对数据库中的数据进行各种操作,最终的操作结果还要反馈给用户。
用户在对数据进行访问时,需要应用程序对数据库做许多底层的操作,如果要开发人员编写代码的话,需要花费大量的精力。
为了简化开发过程,一些开发工具使用控件对数据库进行操作。
在VB中就有几个这样的控件,如Data控件、ADO控件。
下面就介绍一下Data控件和ADO控件以及ADO对象的使用。
一、Data控件通过设置数据控件的属性,我们可以将Data控件连到一个特定的数据库和其中的一个表上。
但是,Data控件本身是不能显示数据的,它只能处理信息流在应用程序和数据库间的转换。
为了能在界面中显示数据,我们使用VB中的普通控件在窗体上显示数据。
首先,在VB中建立一个标准的工程。
在窗体中添加控件其中,Data1就是一个Data控件。
然后改变控件的一些属性,属性修改后如接下来我们要对Data控件进行设置。
要对特定的数据库进行操作,就要连接到这个特定的数据库中。
在Data控件中要对Databasename属性进行设置,在对此属性进行设置时会弹出一个对话框,可以选择数据库的路径。
一个数据库中可能会有许多张表,我们还要指定一张表。
这个可以通过Data控件的Recordsource属性来设置。
如果设置好了Databasename 属性,在你设置Recordsource属性时就会出现一个列表,列出所连接数据库中所有的表,在其中就可以选择某个要使用的表。
这样就可以了吗?用户在界面上是看不到任何数据的。
为了能够让用户对数据进行操作,还有设置相关控件的属性。
在窗体上有三个文本框控件,分别是用来显示表中的对应字段的。
要使文本框对应显示表中的字段,要对文本框的Datasource和Datafield属性进行设置。
在Datasource中要选择对应的数据控件,在这个工程中只有Data控件,所以只能选择此控件,其名字为data1。
Vb数据控件如何使用
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) 的查询、或存储过程、或该数据库中的表的视图的记录集合。
将数据字段的数值传递给数据绑定的控件,可以在这些控件中显示或更改这些数值。
vb的DATA控件
0——控件重定位到第一个记录
1——移过记录集开始位,定位到一个无效记录,触发数据控件对第一个记录的无效事件Validate
EofAction
当记录指针指向记录集的结束时,确定数据控件该采取的操作:
0——控件重定位到最后一个记录
1——移过记录集结束位,定位到一个无效记录,触发数据控件对最后一个记录的无效事件Validate
5.记录集的属性与方法
名称
作用
属性
AbsolutePostion
返回当前指针值,如果是第一条记录,其值为0;是只读属性
Bof / Eof
Bof判断记录指针是否在首记录之前,若是则为True;Eof判断记录指针是否在末记录之后,若是则为True
Bookmark
用于设置或返回当前指针的标签,可以用在在程序中重定位记录集的指针,其值采用字符串类型。
删除记录
1)定位被删除记录使之成为当前记录(用Move或Find方法)
2)调用Delete方法:Data1.Recordset. Delete
3)调用MoveNext方法移动记录指针
使用Delete方法时,当前记录立即删除,但被数据库约束的绑定控件仍旧显示该记录的内容,故必须用第3)步刷新绑定控件。
控件名称
部件名称
常用属性
MSFlexGrid
Microsoft FlexGrid Control 6.0(OLE DB)
DataSourse
DBCombo
Microsoft Data Bound List Controls 6.0
DataField、DataSource、ListField、RowSource、BoundColumn
vb data的查询用法
vb data的查询用法在中,可以使用多种方法进行数据的查询,下面是一些常见的查询用法:1. 使用SQL语句查询:可以使用SQL语句来查询数据库中的数据。
通过使用提供的数据库连接对象(如SqlConnection),可以执行SQL查询语句并获取结果。
```vbDim conn As New SqlConnection("连接字符串")conn.Open()Dim sql As String = "SELECT 列名 FROM 表名 WHERE 条件"Dim cmd As New SqlCommand(sql, conn)Dim reader As SqlDataReader = cmd.ExecuteReader()While reader.Read()Dim value As String = reader.GetString(0) '根据列的索引或名称获取对应的值'处理查询结果End Whilereader.Close()conn.Close()```2. 使用LINQ查询:LINQ(Language-Integrated Query)是提供的强大的查询语言。
通过使用LINQ,可以使用类似于SQL语句的查询语法进行数据查询。
```vbDim dbContext As New DataContext("连接字符串")Dim query = From item In dbContext.TableNameWhere item.Condition = "条件"Select item.ColumnNameFor Each result In queryDim value As String = result '处理查询结果Next```3. 使用存储过程查询:如果数据库中有定义好的存储过程,也可以使用调用存储过程进行数据查询。
Data控件用法示例_VB语言程序设计教程_[共7页]
199在VB 6.0中,能够和Data 控件绑定的内部控件包括TextBox (文本框)、Label (标签)、CheckBox (复选框)、ListBox (列表框)、ComboBox (组合框)、PictureBox (图片框)、Image (图像框)和OLE 容器等控件。
此外,VB 6.0还提供了大量的ActiveX 数据绑定控件,如DataList (数据列表)、DataGrid (数据表格)和MSFlexGrid (数据网格)等控件。
这些外部控件都允许一次显示或操作几条记录。
数据绑定控件的常用属性如下。
1.DataSource 属性用于设置与该控件绑定的Data 控件的名称。
2.DataField 属性用于设置在该控件上显示的数据字段的名称,MSFlexGrid 等表格控件可以显示记录集中的所有字段,所以没有该属性。
10.3.4 数据库应用程序的设计步骤1.新建工程文件在VB 中创建一个新的工程文件,通常情况下数据库应用程序需要建立一个主窗体和若干个子窗体。
在主窗体中设计数据库应用程序主菜单程序,在各个子窗体中完成各项具体数据操作工作。
当然,简单的问题也可以不用子窗体。
2.设置数据控件在子窗体中放置数据控件,通过属性设置选择连接的数据库类型和数据库,选择连接的数据表。
3.设置数据绑定控件在窗体中放置数据绑定控件,通过属性设置选择数据控件要显示与编辑的字段名。
4.编写事件驱动代码根据程序设计要求,放置其他各类控件(如命令按纽),编写事件处理过程。
10.3.5 Data 控件用法示例本小节将通过几个示例来说明Data 控件和数据绑定控件的用法。
在所有示例中,将使用前面创建的数据库“学生档案.mdb ”。
【例10-6】 使用数据网格控件MSFlexGrid 浏览student 表中的数据。
程序运行界面如图10-14所示。
图10-14 运行界面2001.加载MSFlexGrid控件在VB 6.0主界面中,选择“工程”→“部件…”,弹出“部件”对话框,如图10-15所示。
VB6.0DataList控件的使用实例(如何正确显示和选择相同字段的数据)
VB6.0 DataList控件的使用实例(如何正确显示和选择相同字段的数据)试验后的正确方式,利用DataList空间的ListField和BoundColumn属性能实现在DataList控件中没有显示的字段(注:此字段必须带有唯一性,可以使自动编号或设置的编号都行),ListField 属性用来设置需要显示的字段(可以带有重复性或相同)BoundColumn 不需要显示,用来设置唯一性的字段这样,就可以实现吧相同字段的数据正确的区分并提交给TextBox控件显示(其它类型控件可能也能用词方式,具体没有去试验)实例:1、Private Sub Form_Load()‘定义数据源Dim cnn As ADODB.Connection '定义连接Dim rst As ADODB.Recordset '定义返回结果:记录集Set cnn = New ADODB.Connectioncnn.ConnectionString = "PROVIDER=MSDASQL;Driver={SQL Server};Server=改你的服务器名称;uid=;pwd=;Database=改成你的数据库名称"cnn.OpenSet rst = New ADODB.Recordsetrst.Open 写上相应的sql语句, cnn, adOpenKeyset, adLockOptimisticIf Rst.EOF = True ThenExit SubEnd if'设置DataList控件的显示属性Set DataList.RowSource = rstWith DataList.ListField = "Corporations" '.BoundColumn = "Tasklist" ' 唯一性字段,此处为任务单编号,如下图End WithSet rst = NothingSet cnn = NothingEnd Sub2、Private Sub DataList_Click()'设置点中DataList控件上数据成功后,文本控件内数据的关联显示‘定义数据源Dim cnn As ADODB.Connection '定义连接Dim rst As ADODB.Recordset '定义返回结果:记录集Set cnn = New ADODB.Connectioncnn.ConnectionString = "PROVIDER=MSDASQL;Driver={SQL Server};Server=改你的服务器名称;uid=;pwd=;Database=改成你的数据库名称"cnn.OpenSet Rst = New ADODB.RecordsetSQL = "Select * from Miss_missions where tasklist='" + DataList.BoundText + "'" Rst.Open SQL, db, adOpenDynamic, adLockOptimisticSet Rst = db.Execute(SQL)If Not Rst.EOF ThenFor i = 1 To Rst.RecordCountText1.Text = Rst.Fields("Mission_ID").Value & ""Text2.Text = Rst.Fields("NextDates").Value & ""Text3.Text = Rst.Fields("Weeker").Value & ""Text4.Text = Rst.Fields("Corporations").Value & ""'Text4.Text = DataList.SelectedItemText5.Text = Rst.Fields("UnitType").Value & ""Text6.Text = Rst.Fields("Unit").Value & ""Text7.Text = Rst.Fields("TaskList").Value & ""Text8.Text = Rst.Fields("Accomplish").Value & ""Text9.Text = Rst.Fields("CheckClassifg").Value & ""Text10.Text = Format(Rst.Fields("Amount").Value & "", "##0.00")Text11.Text = Rst.Fields("Checker").Value & ""Text12.Text = Rst.Fields("LinkMen").Value & ""Text13.Text = Rst.Fields("Phone").Value & ""Text14.Text = Rst.Fields("County").Value & ""Text15.Text = Rst.Fields("Area").Value & ""Text16.Text = Rst.Fields("PostalCode").Value & ""Text17.Text = Rst.Fields("SetupCor").Value & ""Text18.Text = Rst.Fields("Address").Value & ""'新增项目01--------------------------------------------------------------------Text01.Text = Rst.Fields("DBText01").Value & ""Text02.Text = Rst.Fields("DBText02").Value & ""Text03.Text = Rst.Fields("DBText03").Value & ""Text04.Text = Rst.Fields("DBText04").Value & ""Text05.Text = Rst.Fields("DBText05").Value & ""'End---------------------------------------------------------------------------Rst.MoveNextNext iRst.MoveFirstEnd IfEnd Sub实例图:。
vb的DataCombo和DataList控件的使用(一)
vb的DataCombo和DataList控件的使用(一)发布时间:2007-05-05 来源:未知作者:未知使用DataCombo和DataList控件DataCombo 和DataList控件与标准列表框和组合框控件极为相似,但有一些重要的不同之处,这种不同使这两个控件在数据库应用程序中具有极大的适应性和用武之地。
这两个控件都可以被这些控件所绑定的数据库字段自动填充。
此外,它们还能有选择地将一个选定的字段传递给第二个数据控件,从而适合用于创建“查找表”应用程序。
可能的用法1.在一个关系数据库中,使用一个表的数据来提供要输入给第二个(相关的)表值。
例如,在一个存货清单数据库中,供应商的名称存储在一个表中,每个供应商都有一个唯一的标识符。
另一个显示产品的表则使用这些标识符来表明是哪个供应商供应的该产品。
可以使用DataList控件来显示供应商的名称,而(不可见地)将供应商的标识符提供给产品表。
2.允许用户通过从一个下拉列表中选择一种标准来缩小搜索范围。
例如,一个销售报告的数据库应用程序可以使用一个DataList控件让用户选择一个州(State) 或一个销售区域。
一旦作出选择,则该选择项将自动传递给第二个数据控件,这个控件负责查找选定区域的销售记录。
与它们对应的内在控件一样,DataList 和DataCombo控件之间的主要不同在于DataCombo 控件提供了一个可以在其中编辑内容的文本框。
详细信息有关DataList和DataCombo控件连接数据库表能力的说明,请参阅“使用DataCombo和DataList控件连接两个表”。
要创建一个简单的使用链接表的数据库应用程序,请参阅“创建一个简单的DataCombo应用程序”。
值得注意的控件属性DataList和DataCombo控件的一些重要属性包括:注意DataCombo控件的DataFormat属性是一个Extender属性。
因此在属性表上它总是可见的,并且可以在代码中设置。
使用VB数据控件访问数据库
(3)程序代码
Private Sub Command1_Click() s = Trim(InputBox("请输入要查找的学号", "查找")) t = "学号='" & s & "'" Data1.Recordset.FindFirst t If Data1.Recordset.NoMatch Then MsgBox "找不到学号为" & s & "的学生 ! " Data1.Recordset.MoveFirst End If
10.11 使用VB数据控件访问数据库
VB提供了多种访问数据库的方式,其中数据控件(Data) 是一种使用简便、处理快速的标准控件
1.数据控件的用途
利用Data控件可以建立应用程序与数据库的联系,操作数 据库中的数据,还能利用文本框、列表框等控件,实现数据 的浏览、编辑等功能。
2.
与添加其他控件的方法一样,其外观如下:
Excel数据清单(C:\My Documents\成绩单.xls)内容如下:
(1)创建应用程序的用户界面
(2)设置对象属性
设置数据控件Data1: Connect属性为Excel8.0 DataBaseName属性为C:\My Documents\成绩单.xls RecordSource属性为Sheet1$ (工作表名)
设置文本框(Text1-Text4): 对应“成绩库.dbf”的4个字段 DataSource属性为Data1 DataField属性分别为“学号”、“姓名”、“成绩”和
“班号”
设置五个命令按钮(Command1-Command5)
vb net中datagrid的使用
中的DataGrid在.NET编程中,我们常常要通过控件DataGrid来显示数据库中的数据信息。
DataGrid 按应用不同分为基于网页用的WEBform DataGrid和基于windows应用程序的WINform DataGrid。
一、winform DataGrid利用DataGrid显示数据的过程如图1所示。
图1首先通过去访问数据库,并在内存中生成一个数据表DataSet,然后再把这个DataSet通过属性DefaultView输出填充到DataGrid,显示在屏幕上。
现设有一个短信接收数据表,它里面有4个字段:pid、shoujihaoma、neirong、jsshijian,用DataGrid显示此数据表的数据程序代码如下:SqlConnection myConnection = new SqlConnection("server=liusw;UserID=sa;Password=sa;database=sms");SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM js", myConnection);DataSet ds = new DataSet();da.Fill(ds, "js");dataGrid2.DataSource =ds.Tables["js"].DefaultView;myConnection.Close();这段代码运行的结果如图2所示:图2然而,很多时候我们不使用这种把整个数据表原装不动地全部显示的方式,而是根据自己的需要设计DataGrid。
例如,我们在显示的时候自定义表中的列名(字段名),选择性地显示我们所需要的数据。
为了对数据进行相关的操作,在DataGrid中还可以增加一些自定义列,如复选框列等。
为此在实际应用中,我们用得更多的是自定义DataGrid。
vb的datagrid控件的使用(四)
vb的datagrid控件的使用(四)时间:2007-05-05使用Bookmarks 和SelBookmarks 跟踪记录Bookmarks 和SelBookmarks 提供了标记记录的一种手段。
当编写应用程序中的特定功能(诸如允许最终用户手工地选择多个不相邻的记录,进行所选记录的大批更新)时,这就很有必要。
在这些情形中,需要标记哪些记录已被选择,因此可以使用SelBookmarks 集合及其属性。
有两个函数,分别是CellText 和CellValue 方法,需要标记才能正确执行。
标记用户的选择SelBookmarks 集合包含所有选定的记录的书签。
当最终用户手工选择记录时(即在单击时按住CTRL 键),每一个选定的记录的书签都会加入到该集合中。
使用标准的循环,用户可以知道已经选定了什么,也可以保存书签(因为可能需要恢复某个值),以及执行操作:Dim i as Integer ' 计数器Dim intCount As IntegerintCount = DataGrid1.SelBookmarks.Count - 1ReDim arrSelBK(intCount) ' 声明用于保存书签的数组。
For i = 0 To intCountArrSelBK(i) = DataGrid1.SelBookmarks(i)' 在此处执行操作。
如果该操作必须被' 取消,则退出该循环,然后使用该数' 组来取消这些更改。
Next i通过在程序中添加到SelBookmarks 集合来选择记录通过将记录添加到这个集合,也可以在程序中选定记录。
例如,可能有一个显示指定的客户所有订货的网格。
如果要高亮显示该客户花费超过$100的所有记录,则对记录进行过滤,并将结果书签添加到SelBookmarks 集合。
Dim rs As RecordsetSet rs = Adodc1.RecordsetWhile Not rs.EOFIf rs!SupplierID = 12 ThenDataGrid1.SelBookmarks.Add rs.BookmarkEnd Ifrs.MoveNextWend显示计算结果字段假设在表中有一个名为"Price" 的字段,并且想使用本地税率来计算表中每一项的税费。
VB数据库操作控件Data详细使用说明
在控件箱中的Data控件是VB用于数据库操作的控件,双击Data控件或单击后在体上拖动出控件的大小,都可以看到Data控件的外观1.Data控件的常用属性(1)Connect属性Connect属性用来指定该数据控件所要链接的数据库格式,默认值为Access,其他还包括dBASE、FoxPro、Excel等。
(2)DatabaseName属性DatabaseName属性是用于确定数据控件使用的数据库的完整路径。
如果链接的Access 数据库,就可单击按钮定位.mdb文件。
例如,选择”C:\dbbook.mdb”文件。
(3)RecordSource属性RecordSource属性用于指定数据控件所链接的记录来源,可以是数据表名,也可以是查询名。
在属性窗口中单击下拉箭头在列表中选出数据库中的记录来源。
例如,选择客户信息表”Customers”。
(4)RecordsetType属性RecordsetType属性用于指定数据控件存放记录的类型,包含表类型记录集、动态集类型记录集和快照类型记录集,默认为动态集类型。
表类型记录集(Table):包含实际表中所有记录,这种类型可对记录进行添加、删除、修改、查询等操作,直接更新数据。
动态集类型记录集(Dynaset):可以包含来自于一个或多个表中记录的集合,即能从多个表中组合数据,也可只包含所选择的字段。
这种类型可以加快运行的速度,但不能自动更新数据。
快照类型记录集(Snapshot):与动态集类型记录集相似,但这种类型的记录集只能读不能更改数据。
(5)BOFAction和EOFAction属性在运行时用户通过单击数据控件的指针按钮可移动记录到开始或结尾,BOFAction属性是指当用户移动到开始时程序将执行的操作,EOFAction指当用户移动到结尾时程序将执行的操作。
EOFAcfion值为0(MoveFirst)是将第一笔记录作为当前记录,为1(BOF);9记录的开头。
vb datalist 用法
vb datalist 用法关于VB 的DataList 用法VB(Visual Basic)是一种常用的编程语言,广泛应用于Windows 平台的开发。
其中,DataList 是VB 中用于显示数据列表的一种控件。
在本文中,我们将逐步回答关于VB DataList 的用法问题,并深入探讨其功能和使用方法。
什么是DataList?DataList 是VB 中的一种数据绑定控件,它允许开发人员将数据源绑定到列表中,并以特定的样式和布局显示数据。
DataList 在屏幕上显示数据的多个记录,并提供了自定义的布局和排列方式。
开发人员可以根据自己的需求,通过编写代码或使用可视化设计工具来配置DataList 控件。
DataList 的基本结构在开始使用DataList 之前,我们需要了解一下它的基本结构。
一个基本的DataList 控件通常由以下几个主要部分组成:1. Header(标题):显示在列表顶部的区域,通常用于显示整个列表的标题或其他相关信息。
2. ItemTemplate(项目模板):指定了列表中每个数据项的布局和样式。
开发人员可以在ItemTemplate 中定义用于显示数据的HTML 或相关控件。
3. SeparatorTemplate(分隔符模板):可选项,用于指定列表中数据项之间的分隔符的样式。
4. Footer(页脚):显示在列表底部的区域,通常用于显示其他相关信息或页码等。
DataList 的绑定方式DataList 支持多种数据绑定方式,包括绑定到数据源、绑定到数组、绑定到集合等。
我们可以通过以下步骤来实现数据绑定:1. 准备数据源:首先,我们需要准备一个合适的数据源,可以是数据库、XML 文件、数组或集合等。
确保数据源和DataList 控件之间的数据结构和格式匹配。
2. 引用数据源:在VB 中,我们需要设置DataList 的DataSource 属性,将数据源与控件关联起来。
教学课件9-3 数据库-Data控件常用方法
3
记录集常用属性
(4) AbsolutePosition属性
AbsolutePosition属性返回当前记录指针值,如果是第1条记录, 其值为0,该属性为只读属性。 (3) RecordCount属性
RecordCount属性返回记录集的记录总数,该属性为只读属性。
总
结
利用Data控件方法可访问其内置功能。
VB 程 序 设 计
数据库-Data控件常用方法
问题引入
表中的信息修改后
在VB中可以实 现更新吗?
数据 列库 表设 框计
1 列 2 列 3
Data控件常用方法 记录集常用方法 记录集常用属性
1
Data控件常用方法
Data控件的内置功能很多,利用Data控件的方法可访问这些功能。 (1) Refresh方法 该方法可更新数据控件的属性值,当Data控件重新打开一个数据库, 改变Connect、DatabaseName、RecoreSource、ReadOnly、 Exclusive等属性时,需要使用该方法。 【示例】Data1.Refresh (2) UpdateRecord方法 该方法用于将绑定控件的当前值写入到数据库中。即修改数据后调 用该方法将数据保存到数据库中。 【示例】Data1. UpdateRecord
2
(3) Update方法
记录集的常用方法
Update方法用于将数据保存到数据库中。 【示例】Data1.Recordset.Update
Update方法与Data控件的UpdateRecord方法功能相似。
2
(4) Edit方法
记录集的常用方法
使用该方法可对更新的当前记录进行编辑修改。
【示例】Data1.Recordset.Edit 更新当前记录的修改信息。
VB中DataGrid控件的使用一得
VB中DataGrid控件的使用一得VB中DataGrid 控件的使用一得建湖县艺术高级中学夏成仁如今,使用VB对小型数据库ACCESS编程已很普遍,在VB窗体中要表格式显示库中的记录,首选的就是使用DataGrid 控件,DataGrid 控件可以很好地与ACCESS数据库结合,比较完美地输出记录,也可以与其它数据库结合(如EXCEL、FOXPRO)调用EXCEL可实现表格的打印。
DataGrid 控件的使用对初上手的编程人员来说有一定的难度。
下文是本人在使用这个控件过程中的一点心得。
一、DataGrid 控件使用前的准备DataGrid 控件不是VB常用控件,正常新建的VB工程的工具箱中并不具有该控件,要使用该控件可进行如下操作,选择“工程”菜单中的“部件”菜单项,在出现的对话框中选中Microsoft Dategrid Control6.0。
按“确定”按钮。
在工具箱中便可添加了DataGrid 控件。
另外还需要在工程中引用Microsoft ActiveX Date Objects2.0 Library,(菜单“工程”\ 引用)。
经过以上两步骤后,编程人员可以将该控件放置在窗体中适当的位置。
程序启动后,控件图示并不在窗口中出现。
二、表的记录集(RS)形成在窗口中使用DataGrid 控件,就是要用这个控件显示一个数据库中某个表的记录。
一个数据库的某个表(EXCEL工作薄的某个工作表)是保存在磁盘上数据,首先是将需要的记录装入内存,装入内存的一个表的所有记录记录(或表的部分记录)就形成一个记录集。
这个记录集与表中的记录是对应的、互动的。
记录指针是一致的。
如删除了这个记录集中的一个记录,也就删除了磁盘中的一部数据。
装入内存的目的主要是提高了操作的速度,内存中也许有多个记录集,一个记录集必用一个记录集变量表示(如:RS),这样便于使用这个记录集。
DataGrid 控件表面上显示数据库中某个表中的记录,在编程中,DataGrid 控件实际是显示一个记录集的内容,因此使用DataGrid 控件的重点是记录集的形成,一旦形成了记录集(RS)后,使用语句Set DataGrid1.DataSource = RS,便可使DataGrid 控件显示出RS 记录集中的记录了。
Data控件
10.2 Data控件Visual Basic具有数据库联接和数据处理功能,因此可以把它作为数据库应用程序的开发环境。
用Visual Basic作为数据库的开发平台具有简单、灵活和可扩充性等特点。
Visual Basic提供了两种与数据库引擎接口的方法:数据控件和数据访问对象。
数据控件只给出有限的不需要编程而能访问现存数据库的功能,允许将Visual Basic的窗体与数据库方便地进行连接。
Data控件在工具箱中,不需要特殊的步骤加入,但要利用数据控件返回数据库中记录的集合,必须通过它的属性设置。
使用数据控件,不需要编写代码就可以实现以下操作:(1)与本地或远程的数据库建立连接。
(2)对连接的数据库执行SQL查询,打开指定的数据表或定义记录集。
(3)把数据字段传送到各种约束控件,并可在约束控件中显示或修改数据字段的值。
(4)根据约束字段中数据的变化,添加新记录或更新数据库。
(5)捕获访问数据时出现的错误。
(6)关闭数据库。
Data控件可以使用三种类型的Recordset对象中的任何一种来提供对存储在数据库中数据的访问。
Recordset(记录集)作为一个对象,可以是数据库中的一组记录,也可以是整个数据表或者表的一部分。
记录集分为三种类型:Table、Dynaset和Snapshot。
表类型记录集(Table)包含表中所有记录,对数据表中的数据所进行的增加、删除、修改等操作,直接更新数据。
动态集类型记录集(Dynaset)可以包含来自于一个或多个表中记录的集合,对这种类型的数据表所进行的各种操作都先在内存中进行,以提高运行速度。
以快照类型记录集(Snapshot)打开的数据表或由查询返回的数据仅供读取而不能更改,主要适用于进行查询工作。
双击Data控件或单击后在窗体上拖动出控件的大小,都可以看到Data控件的外观,如图10.5所示。
图10.5 Date控件的外观10.2.1 常用属性、方法和事件Data控件的属性有些可用于其他控件,有些则是Data控件所特有的。
VB中的数据控件
3)利用数据控件对数据库进行增、删、改操作
增加记录 : (1)调用AddNew方法: Data1.Recordset. AddNew (2)给各字段赋值: Recordset.Fields("字段名")=内容 (3)调用Update方法,将数据写入数据库: Data1.Recordset. Update (4)调用MoveLast方法显示新记录: Data1.Recordset. MoveLast
第8页
3)利用数据控件对数据库进行增、删、改操作
删除记录: (1)定位被删除记录使之成为当前记录 用Move或Find方法 (2)调用Delete方法: Data1.Recordset.Delete (3)调用MoveNext方法移动记录指针
第9页
3)利用数据控件对数据库进行增、删、改操作
修改记录 (1)调用Edit方法:
第6页
2)在指定的Dynaset类型的Recordset对象中查找与 指定条件相符的一条记录,共有4种方法: FindFirst——从开始查找满足条件的第1条记录 FindLast——从尾部向前查找满足条件的第1条记录 FindNext——从当前开始查找满足条件的下一条记录 FindPrevious——从当前开始查找满足条件的上一条 记录
5.4 DATA(数据)控件
第1页
Data控件是VB对数据库(包括EXCEL、文本文 件)进行访问的基本控件,大大简化了数据库的操作, 为数据处理提供了高级的编程控制。
在同一个窗体中可以同时使用多个Data控件, 但是每个Data控件只能访问一个数据库表,在设计阶 段要为Data控件指定它所要访问的数据库类型和表。
Data1.Recordset. Edit (2)给各字段赋值:
使用VB数据控件访问数据库
使用VB数据控件访问数据库Visual Basic是一种功能强大的编程语言,它允许程序员使用数据控件访问数据库。
在本文中,我们将介绍如何使用VB数据控件来连接和操作数据库。
首先,我们需要使用VB的数据控件来建立与数据库的连接。
VB提供了多种数据控件,包括ADO控件(ActiveX Data Objects,ActiveX数据对象)、DAO控件(Data Access Objects,数据访问对象)和ODBC控件(Open Database Connectivity,开放数据库连接)等。
在这里,我们将使用ADO控件。
要使用ADO控件,我们首先需要将其添加到项目中。
打开VB的开发环境,选择"工具"->"选项"->"控件"选项卡。
在这里,我们可以看到可用的控件列表。
找到ADO控件并勾选它,然后点击"应用"和"确定"。
在VB的表单上添加一个数据控件(如ADODC控件),这个控件将用于建立与数据库的连接。
在属性窗口中,我们可以设置连接字符串,选择需要连接的数据库,以及指定用户名和密码等。
可以使用连接字符串来指定连接的数据库类型和位置,如"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:\mydatabase.mdb;User Id=admin;Password=;"一旦连接到数据库,我们就可以使用数据控件来执行各种数据库操作,如查询、插入、更新和删除等。
数据控件提供了一些方法和属性,可以轻松地执行这些操作。
此外,我们还可以使用数据控件的AddNew方法和Update方法来插入和更新数据库记录。
例如,我们可以使用Recordset.AddNew方法添加一条新的记录,然后使用Recordset.Update方法将更改保存到数据库中。
当我们完成对数据库的操作后,我们需要关闭数据库连接。
计算机二级VB控件:Data控件的主要方法
⼀般地,适⽤于Dynaset类型的记录集对象的⽅法同样适⽤于:Data控件的记录集(Recordset)对象。
1.UpdateRecord⽅法 使⽤LJpdateRecord⽅法可以将绑定的数据感知控件的当前内容写⼊到数据库中,⽤这种⽅法在Validate事件中将被绑定的控件的内容保存到数据库中⽽不会再次触发Validate事件。
2.UpdateControls⽅法 使⽤updateControls⽅法可以将数据从数据库中重新读到约束控件中,恢复为原始值,等效于⽤户更改了数据之后取消更改。
3.Refresh⽅法 Refresh⽅法⽤来重新建⽴或显⽰与Data控件相连的数据库记录集。
如果在程序代码中改变了:DatabaseName、ReadOnly、Exclusive或Connec~的属性值,就必须⽤Refresh⽅法来刷新记录集。
Refresh⽅法的语法为: Data1.refresh 另外Data控件的⽅法还有Drag、:Move、Zorder、ShowWhatsThis⽅法,它们在数据控件上的⽤法与其他对象的⽤法是⼀致的。
下⾯通过⼀个⼩例⼦来熟悉Data控件的使⽤,按以下步骤制作⼀个使⽤Data控件操作数据库的程序,使⽤的数据库是前章中制作的学⽣学籍管理的Access数据库。
具体步骤如下。
·在Visual Basic中新建⼀个⼯程,命名为useData,保存于适当的⽬录下。
·打开程序的主窗体,设置其Caption为“Data控件的使⽤实例”。
·向窗体中添加Data控件,默认name为Datal。
·为数据显⽰的⽅便,向窗体中添加DBGird控件,⽤于显⽰查询出的数据。
这个控件在后⾯还会有详细的讲解,这⾥只是使⽤⼀下。
选择“⼯程/部件”命令,在弹出的对话框中选择“.Microsoft Data Bound ConU.0l”复选框,然后点击确定按钮,DBGird控件就会加到⼯具箱中。
教学课件9-2 数据库-Data控件常用属性
2
数据绑定控件
若想将数据绑定控件绑定到Data控件上,必须对下面两个属性进行设置:
① DataSource属性:设置一个有效的数据控件。
② DataField属性:设置绑定控件与数据库有效的字段建立联系。
当数据控件与绑定控件绑定后,当前记 录的字段值赋给绑定控件。当数据控件的
RecordsetType属性设为Table时,若修改
1
Data控件常用属性
(2) DatabaseName属性
DatabaseName属性指定具体连接的数据库的名称,包括完整的路径。 【示例】Data1.DatabaseName=“D:\STUDENT.MDB“ 访问D盘根文件中student.mdb数据库。RecordSource属性
了绑定控件内的数据,只要移动记录指针, 修改后的数据会自动写入数据表中。
3
Data控件应用
【应用】 设计一个显示学生基本信息窗体,如图所示,在5个文本框 中分别显示上述stud表中各字段信息。 (1) 建立数据库student.mdb及数据表stud 利用数据管理器建立student.mdb数据库及stud数据表。
但不能自动更新数据。
2-Snapshot:快照类型记录集,与动态集类型记 录集相似,但该类型的记录集只能读不能更改数 据。
1
可编辑类型。
Data控件常用属性
(5) ReadOnly属性
ReadOnly属性指定数据控件产生的记录集是否为只读类型。若 ReadOnly属性值为True则为只读类型,ReadOnly属性值为False则为
RecordSource属性指定Data数据控件所访问的记录源,可以是数据 表名,也可以是查询名或查询字符串。 若DatabaseName属性选择了建立的student.mdb数据库,单击 RecordSource属性的下拉列表可选择其中任何一个表或查询。
vb的datagrid控件的使用
vb的datagrid控件的使用(一)使用DataGrid 控件DataGrid 控件是一种类似于电子数据表的绑定控件,可以显示一系列行和列来表示Recordset 对象的记录和字段。
可以使用DataGrid 来创建一个允许最终用户阅读和写入到绝大多数数据库的应用程序。
DataGrid 控件可以在设计时快速进行配置,只需少量代码或无需代码。
当在设计时设置了DataGrid 控件的DataSource 属性后,就会用数据源的记录集来自动填充该控件,以及自动设置该控件的列标头。
然后您就可以编辑该网格的列;删除、重新安排、添加列标头、或者调整任意一列的宽度。
在运行时,可以在程序中切换DataSource 来察看不同的表,或者可以修改当前数据库的查询,以返回一个不同的记录集合。
注意DataGrid 控件与Visual Basic 5.0中的DBGrid 是代码兼容的,除了一个例外:DataGrid 控件不支持DBGrid 的“解除绑定模式”概念。
DBGrid 控件包括在Visual Basic 的Tools 目录中。
可能的用法查看和编辑在远程或本地数据库中的数据。
与另一个数据绑定的控件(诸如DataList 控件)联合使用,使用DataGrid控件来显示一个表的记录,这个表通过一个公共字段链接到由第二个数据绑定控件所显示的表。
使用DataGrid 控件的设计时特性可以不编写任何代码,只通过使用DataGrid 控件的设计时特性来创建一个数据库应用程序。
下面的说明概要地说明了在实现DataGrid 控件的典型应用时的一般步骤。
完整的循序渐进的指示,请参阅主题“DataGrid 方案1: 使用DataGrid 控件创建一个简单数据库应用程序”。
要在设计时实现一个DataGrid 控件1. 为要访问的数据库创建一个Microsoft 数据链接(.MDL) 文件。
请参阅“创建Northwind OLE DB 数据链接”主题,以获得一个示例。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在控件箱中的Data控件是VB用于数据库操作的控件,双击Data控件或单击后在体上拖动出控件的大小,都可以看到Data控件的外观1.Data控件的常用属性(1)Connect属性Connect属性用来指定该数据控件所要链接的数据库格式,默认值为Access,其他还包括dBASE、FoxPro、Excel等。
(2)DatabaseName属性DatabaseName属性是用于确定数据控件使用的数据库的完整路径。
如果链接的Access 数据库,就可单击按钮定位.mdb文件。
例如,选择”C:\dbbook.mdb”文件。
(3)RecordSource属性RecordSource属性用于指定数据控件所链接的记录来源,可以是数据表名,也可以是查询名。
在属性窗口中单击下拉箭头在列表中选出数据库中的记录来源。
例如,选择客户信息表”Customers”。
(4)RecordsetType属性RecordsetType属性用于指定数据控件存放记录的类型,包含表类型记录集、动态集类型记录集和快照类型记录集,默认为动态集类型。
表类型记录集(Table):包含实际表中所有记录,这种类型可对记录进行添加、删除、修改、查询等操作,直接更新数据。
动态集类型记录集(Dynaset):可以包含来自于一个或多个表中记录的集合,即能从多个表中组合数据,也可只包含所选择的字段。
这种类型可以加快运行的速度,但不能自动更新数据。
快照类型记录集(Snapshot):与动态集类型记录集相似,但这种类型的记录集只能读不能更改数据。
(5)BOFAction和EOFAction属性在运行时用户通过单击数据控件的指针按钮可移动记录到开始或结尾,BOFAction属性是指当用户移动到开始时程序将执行的操作,EOFAction指当用户移动到结尾时程序将执行的操作。
EOFAcfion值为0(MoveFirst)是将第一笔记录作为当前记录,为1(BOF);9记录的开头。
EOFAction值为0(MoveLast)是将最后一笔记录作为当前记录,为1(EOF)指记录的末尾,为2(AddNew)移动到记录结尾并自动添加一记录。
2.Data控件常用的方法(1)AddNew方法AddNew用于添加一个新记录,新记录的每个字段如果有默认值将以默认值表示,如果没有则为空白。
例如,给Data1的记录集添加新记录:Data1.Recordset.AddNew(2)Delete方法Delete用于删除当前记录的内容,在删除后应将当前记录移到下一个记录。
(3)Edit方法Edit用于对可更新的当前记录进行编辑修改。
(4)Find方法群组Find方法群组是用于查找记录,包含FindFirst、FindLast、FindNext和FindPreviou方法,这4种方法查找的起点不同。
Find方法查找起点查找方向。
FindFirst 第一个记录向后查找。
FindLast 最后一个记录向前查找。
FindNext 当前记录向后查找。
FindRrevious 当前记录向前查找例如,查找”客户号”字段为”10002”的记录:Datal.Recordset.FindFirst″客户号=′10002”,If Datal.Recordset.NoMatchThen ′如果没找到MsgBox″找不到10002号客户″End If通常当查找不到符合条件的记录时,需要显示信息提示用户,因此使用NoMatch属性,当使用Find或Seek方法找不到相符的记录时,NoMatch属性为True。
(5)Move方法群组Move方法群组是用于移动记录,包含MoveFirst、MoveLast、MoveNext和MovePrevious 方法,这四种方法分别是移到第一笔记录、移到最后一笔记录、移到下一笔记录和移到前一笔记录。
注意:当在最后一个记录时,如果使用了MoveNext方法时EOF的值会变为True,如果再使用MoveNext方法就会出错。
对于MovePrevious方法如果前移,结果也是同样。
(6)Refresh方法如果DatabaseName、ReadOnly、Exclusive或Connect属性的设置值发生改变,可以使用Refresh方法打开或重新打开数据库,用Refresh方法可以更新数据控件的集合内容。
(7)Seek方法Seek方法适用于数据表类型(Table)记录集,通过一个已被设置为索引(Index)的字段,查找符合条件的记录,并使该记录为当前记录。
语法:记录集.Seek比较式,key1,key2,...,key13例如,当索引为”客户号”字段时,查找客户号为”10005”的记录:Data1.Recordset.Seek″:″,″10005″(8)Update方法Update方法用于将修改的记录内容保存到数据库中。
(9)UpdateControls方法UpdateControls方法可以从数据控件的记录集中再取回原先的记录内容,即恢复原先值。
当在与数据控件链接的控件中修改了记录内容,可以用UpdateControls方法使这些控件显示恢复原来的值。
3.Data控件常用的事件(1)Reposition事件Reposition事件是当某一个记录成为当前记录之后触发。
通常利用该事件对当前记录的数据内容进行计算,触发该事件有以下几种原因:单击数据控件的某个按钮,进行记录的移动。
使用Move方法群组。
使用Find方法群组。
其他可改变当前记录的属性或方法。
(2)Validate事件Validate事件与Reposition事件不同,是当某一记录成为当前记录之前,或是在Update、Delete、Unload或Close操作之前触发。
事件的定义如下:语法:Private Sub Data1_Validate (action As Integer ,save As Integer)其中:action:用来指示引发这种事件的操作。
Save:用来指定被链接的数据是否修改了。
例如,在Validate事件触发时确定记录内容是否修改,如果不修改则恢复:Private Sub Data1_Validate(Action As Integer ,Save As Integer)Dim magif Save=True Thenmag=MsgBox(″要保存修改吗?″ ,vbYesNo)If mag=vbNo ThenSave=FalseData1.UpdateControls ′恢复原先内容End ifEndIfEnd Sub二、与控件绑定控件箱中的常用控件PictureBox、Label、T extBox、CheckBox、Image、OLE、ListBox 和ComboBox控件都能和Data的Recordset的一个字段绑定,与Data控件绑定的控件称为数据感知控件。
1.数据感知控件的相关属性DataSource属性:用于在下拉列表中选择想要绑定的控件名称。
DataField属性:用于在下拉列表中选择要显示的字段名称。
2.绑定数据控件的步骤数据感知控件绑定的过程不需要加入任何程序代码,将文本框txtOrderNo与Dara1绑定的步骤如下:(1)将数据控件(Data1)放置在窗体中,将数据感知控件T extBox放置在窗体中并改名为txtOrderNo。
(2)设置Data1的DatabaseName属性为”C:\dbbook.Mdb”文件,设置Data1的RecordSource属性为”Orders”表。
(3)设置txtOrderNo的DataSource属性为Data1,设置txtOrderNo的DataField属性为”定单号”字段。
[例Ex_Data1_out]创建一个订购图书的客户信息的输入界面,用文本框绑定Data控件,txtOrderNo、txtCuNo 和txtDate分别显示”Customers”表的各字段。
界面设计,窗体由4个按钮、3个标签、3个文本框和1个Dara控件组成。
窗体文本框控件和Data控件的属性设置,标签和按钮属性设置省略。
对象控件名属性名属性值。
TextBox txtCuNotxtOrderNotxtDateTextDataSourceDataFieldTextDataSourceDataFieldTextDataSourceDataField 空Data1客户号空Data1定单号空Data1订购日期。
Data Data1CaptionDataBaseNameRecondSource 客户信息C:\dbbook.mdbOders程序代码如下:Option ExplicitPrivate Sub cmdAdd_Click()′添加记录Data1.Recordset.AddNewData1.Recordset.UpdateData1.Recordset.MoveLastEnd SubPrivate Sub cmdDelete_Click()′删除记录Dim magmag= MsgBox(″要删除吗? ″ ,vbYesNo,″删除记录″ )If mag=VbYes ThenData1.Recordset.DelereData1.Recordset,MoveLastEnd IfEnd Sub当删除最后一个记录后,如果再删除就会出错,因此每次删除完将当前记录移到最后一个。
Private Sub cmdend_Click()EndEnd SubPrivate Sub cmdedit_Click()′修改记录Data1.Recordset.EditData1.Recordset.UpdateEnd SubPrivate Sub Data1_Validate(Action As Integer, Save As Integer)′确定是否修改,如不修改恢复原先内容Dim magIf Save = True Thenmag = MsgBox(”save?”, vbYesNo, “save record”)If mag = vbNo ThenSave = FalseData1.UpdateControlsEnd IfEnd IfEnd Sub。