VB中DataGrid 控件的使用一得.doc_第1页
VB中DataGrid 控件的使用一得.doc_第2页
VB中DataGrid 控件的使用一得.doc_第3页
VB中DataGrid 控件的使用一得.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

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记录集中的记录了。这个语句实现了对DataGrid 控件的绑定。其实,要形成这样的记录集,有多种方法。ADO、DAO等,对于初学者,不一定要将这此方法一一学全、领会。他们之间是有一个的差别,特别在几十万记录的大型数据库的使用中会有较大的速度上的差异(本人试过4680003条记录的ACCES数据库)。要理解这此差别存在原因,确要分析不同连接的内部本质。创建数据库连接过程也就是形成记录集的过程。1) ADO连接代码Dim conn As ADODB.Connection Dim rs As New ADODB.Recordset定义连接变量与记录集变量,在DataGrid 控件使用前的准备工作完成的前提之下,这两个定义语句才能正常使用。因为,在工程中引用Microsoft ActiveX Date Objects2.0 Library方可有ADODB.Connection与ADODB.Recordset类型。Set conn = New ADODB.ConnectionSet rs = New ADODB.Recordset该两语句与上面两定义语句相应。建立新的对象,准备打开数据库与形成记录集。以下是建立记录集的核心语句。conn.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= + App.Path & userlb.mdb conn.Openrs.CursorLocation = adUseClientrs.Open select 姓名,学校 from usertt, conn, adOpenStatic, adLockOptimistic其中:userlb.mdb是需要打开的数据库文件名,usertt是该数据库中的某一个表名。“姓名,学校”是这个表中的两个字段名。select 姓名,学校 from usertt是SQL,该语句是用来选择该表中部分字段及部分记录。rs.CursorLocation = adUseClient也很重要,是显示方式的确定,许多新手正是由于缺少了该条语句,结果是不报错, DataGrid 控件也不正常显示记录内容。 经过上述的准备后,记录集RS已经建立。使用Set DataGrid1.DataSource = rs语句,便可将这个记录集的记录显示在DataGrid 控件中。2) 使用ADODC控件的连接方法ADODC控件并不是常用的控件,正常情况下在工具箱中不出现,选择“工程”菜单中的“部件”选项,在出现的对话框中选中Microsoft Ado Date Control6.0。这样在工具箱便有了ADODC控件,将该控件放置在窗体中,设置这个控件的ConnectionString、RecordSource属性。并可建立起一个记录集。Me.Adodc1.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D: userlb.mdb;Persist Security Info=FalseMe.Adodc1.RecordSource = select 姓名,学校 from usertt建立了上述的记录集,再使用Set DataGrid1.DataSource =Adodc1,自然DataGrid 控件便可显示该记录集中的记录。 3)非控件连接方法。Dim ws As WorkspaceDim db As DatabaseSet ws = DBEngine.Workspaces(0)Set db = ws.OpenDatabase(App.Path + table.mdb)ttyy = select * from 营业收入明细表 where trim(年)= + v年 + and trim(月)= + v月 + and trim(日)= + v日 + and trim(客户)= + v单 + and trim(型号)= + v型 + order by 数值日期 ASCSet rs = db.OpenRecordset(ttyy)综上所述:无论哪种方法创建数据库的连接与建立记录,无非是指明被连接的数据库名,选择所需要的表名,表中记录与字段的选择。表中的记录与字段的筛选需要使用SQL语句。三、SQL语句在创建记录集中的使用SQL全称是“结构化查询语言(Structured Query Language)”,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,学过VF软件的人都知道,在教材中有专门章节介绍SQL语言的使用方法。它的功能十分强大,可以将单表或联接的多表建立一个查询,这个查询结果其实也是一个二维数据表,那就是说这里的SQL查询语句的作用是,从数据库的一个或多个表中筛选出符合条件的记录,形成一个新虚拟表。这个虚拟表就作为记录集使用。如下列语句:select 姓名,学校 from userttselect name as 姓名,shool as 学校 from usertt order by 学号 ASC select * from 营业收入明细表 where trim(年)= + v年 + and trim(月)= + v月 + and trim(日)= + v日 + and trim(客户)= + v单 + and trim(型号)= + v型 + order by 数值日期 ASCSELECT语句的使用方法如下:语法如下:SELECT 关键字 * | 表名称.* | 表名称.字段名称1 AS 别名1 , 表名称. 字段名称2 AS 别名2 , .FROM 表运算式 , . IN 外部表WHERE. GROUP BY. HAVING. ORDER BY. WITH OWNERACCESS OPTIONSELECT更详细的阐述,请参考其他有关资料。四、DataGrid 控件及记录集的属性与方法1) DataGrid 控件的属性初始值有两种设置方法,一是利用该对象的属性面版进行设置,这种设置与VB常用控件并无多大的差别,二是右击该控件,并先选择“编辑”,再次右击并选择“属性”,在弹出的对话框中设置各个属性,这里有许多属性在属性面版并不出现。2) DataGrid 控件属性的重新设置。DataGrid 控件的属性比较多,逐一掌握并不容易,一般情况下可初步掌握一些基本的属性或方法。Me.DataGrid2.AllowAddNew = True 允许增加新记录Me.DataGrid2.AllowUpdate = True 允许更改记录内容Me.DataGrid2.Refresh 刷新DataGrid 控件内容Me.DataGrid2.AllowRowSizing = TrueDataGrid1.Text 返回当前单元格中的内容Me.DataGrid2.Columns(8).NumberFormat = 0.00DataGrid1.Row = 1: DataGrid1.Col = 1: DataGrid1.Text = 123Me.DataGrid1.Columns(0).Width = 600 调整某一列的列宽。DataGrid 控件还有许多的属性,这里不再一一细述。DataGrid 控件

温馨提示

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

评论

0/150

提交评论