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

下载本文档

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

文档简介

1、VB 中 DataGrid 控件的使用一得 建湖县艺术高级中学 夏成仁 如今,使用VB对小型数据库ACCESS编程已很普遍,在VB窗体中要表格 式显示库中的记录,首选的就是使用 DataGrid 控件, DataGrid 控件可以很好地 与 ACCESS 数据库结合,比较完美地输出记录,也可以与其它数据库结合(如 EXCEL、FOXPRO)调用 EXCEL可实现表格的打印。DataGrid控件的使用对 初上手的编程人员来说有一定的难度。 下文是本人在使用这个控件过程中的一点 心得。 一、DataGrid 控件使用前的准备 DataGrid 控件不是 VB 常用控件,正常新建的 VB 工程的工具

2、箱中并不具有 该控件,要使用该控件可进行如下操作,选择 “工程” 菜单中的“部件”菜单 项,在出现的对话框中选中 Microsoft Dategrid Control6.0 。按“确定”按钮。在 工具箱中便可添加了 DataGrid 控件。另外还需要在工程中引用 Microsoft ActiveX Date Objects2.0 Library,(菜单“工程” 引用)。经过以上两步骤后,编程人员可 以将该控件放置在窗体中适当的位置。 程序启动后,控件图示并不在窗口中出现。 二、表的记录集(RS)形成 在窗口中使用 DataGrid 控件,就是要用这个控件显示一个数据库中某个表 的记录。一个数据

3、库的某个表( EXCEL 工作薄的某个工作表)是保存在磁盘上 数据,首先是将需要的记录装入内存, 装入内存的一个表的所有记录记录 (或表 的部分记录)就形成一个记录集。这个记录集与表中的记录是对应的、互动的。 记录指针是一致的。 如删除了这个记录集中的一个记录, 也就删除了磁盘中的一 部数据。装入内存的目的主要是提高了操作的速度,内存中也许有多个记录集, 一个记录集必用一个记录集变量表示(如:RS),这样便于使用这个记录集。 DataGrid 控件表面上显示数据库中某个表中的记录, 在编程中, DataGrid 控 件实际是显示一个记录集的内容,因此使用 DataGrid 控件的重点是记录集的

4、形 成,一旦形成了记录集(RS)后,使用语句Set DataGrid1.DataSource = RS便 可使 DataGrid 控件显示出 RS 记录集中的记录了。这个语句实现了对 DataGrid 控件的绑定。 其实,要形成这样的记录集,有多种方法。 ADO 、DAO 等,对于初学者, 不一定要将这此方法一一学全、 领会。他们之间是有一个的差别, 特别在几十万 记录的大型数据库的使用中会有较大的速度上的差异 (本人试过 4680003 条记录 的 ACCES 数据库)。要理解这此差别存在原因,确要分析不同连接的内部本质。 创建数据库连接过程也就是形成记录集的过程。 1)ADO 连接代码 D

5、im 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.Connection Set rs = New ADODB.Recordset 该两语句与上面两定义语句相应。 建立新的对象, 准备打开数据

6、库与形成记 录集。以下是建立记录集的核心语句。 conn.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= + App.Path Data Source=D: userlb.mdb;Persist Security Info=False Me.Adodc1.RecordSource = select 姓名,学校 from usertt 建立了上述的记录集,再使用 Set DataGridl.DataSource =Adodc1 自然 DataGrid 控件便可显示该记录集中的记录。 3)非控件连接方法。 Dim w

7、s As Workspace Dim db As Database Set 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 数值日期 ASC Set rs = db.OpenRecordset(ttyy) 综上所述

8、:无论哪种方法创建数据库的连接与建立记录, 无非是指明被连接 的数据库名, 选择所需要的表名, 表中记录与字段的选择。 表中的记录与字段的 筛选需要使用 SQL 语句。 三、 SQL 语句在创建记录集中的使用 SQL全称是“结构化查询语言(Structured Query Language”,最早的是IBM 的圣约瑟研究实验室为其关系数据库管理系统 SYSTEM R 开发的一种查询语 言,学过 VF 软件的人都知道,在教材中有专门章节介绍 SQL 语言的使用方法。 它的功能十分强大, 可以将单表或联接的多表建立一个查询, 这个查询结果其实 也是一个二维数据表,那就是说这里的 SQL 查询语句的

9、作用是,从数据库的一 个或多个表中筛选出符合条件的记录, 形成一个新虚拟表。 这个虚拟表就作为记 录集使用。如下列语句: select 姓名,学校 from usertt select 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 数值日期 ASC SELECT 语句的

10、使用方法如下: 语法如下: SELECT 关键字 * |表名称.* | 表名称. 字段名称 1 AS 别名 1 , 表名称. 字段名称 2 AS 别名 2 , . FROM表运算式,IN外部表 WHERE. GROUP BY. HAVING. ORDER BY. WITH OWNERACCESS OPTION SELECT 更详细的阐述,请参考其他有关资料。 四、 DataGrid 控件及记录集的属性与方法 1)DataGrid 控件的属性初始值有两种设置方法,一是利用该对象的属性面版进 行设置,这种设置与 VB 常用控件并无多大的差别,二是右击该控件,并先 选择“编辑”,再次右击并选择“属性

11、” ,在弹出的对话框中设置各个属性, 这里有许多属性在属性面版并不出现。 2)DataGrid 控件属性的重新设置。 DataGrid 控件的属性比较多, 逐一掌握并不 容易,一般情况下可初步掌握一些基本的属性或方法。 Me.DataGrid2.AllowAddNew = True 允许增加新记录 Me.DataGrid2.AllowUpdate = True 允许更改记录内容 Me.DataGrid2.Refresh 刷新 DataGrid 控件内容 Me.DataGrid2.AllowRowSizing = True DataGrid1.Text 返回当前单元格中的内容 Me.DataGrid2.Columns(8).NumberFormat = 0.00 DataGrid1.Row = 1: DataGrid1.Col = 1: DataGrid1.Text = 123 Me.DataGrid1.Columns(0).Width = 600 调整某一列的列宽。 DataGrid 控件还有许多的属性,这里不再一一细述。 DataGrid控件所显示的记录就是记录集(RS)的记录,因此使用记录集的 方法与属性亦

温馨提示

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

评论

0/150

提交评论