2022年VB数据库编程技术实例.pdf

上传人:C****o 文档编号:12973335 上传时间:2022-04-27 格式:PDF 页数:34 大小:296.53KB
返回 下载 相关 举报
2022年VB数据库编程技术实例.pdf_第1页
第1页 / 共34页
2022年VB数据库编程技术实例.pdf_第2页
第2页 / 共34页
点击查看更多>>
资源描述

《2022年VB数据库编程技术实例.pdf》由会员分享,可在线阅读,更多相关《2022年VB数据库编程技术实例.pdf(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、VB数据库编程技术一 ODBC概述在传统的数据库管理系统中,每个数据库管理系统都有自己的应用程序开发接口(API) ,为了解决此问题,微软公司开发了ODBC(Open DataBase Connectivity,即开放数据库互连) 。ODBC 是一套开放数据库系统应用程序接口规范,目前它已成为一种工业标准,它提供了统一的数据库应用编程接口(API) ,为应用程序提供了一套高层调用接口规范和基于动态连接库的运行支持环境。使用 ODBC 开发数据库应用时,应用程序调用的是标准的ODBC 函数和 SQL语句,屏蔽了DBMS 之间的差异,数据库底层操作由各个数据库的驱动程序完成。因此应用程序有很好的适

2、应性和可移植性,并且具备了同时访问多种数据库管理系统的能力,从而彻底克服了传统数据库应用程序的缺陷。主要任务包括:建立与数据源的连接;向数据源发送SQL请求;断开与数据源的连接数据源数据源是指任一种可以通过ODBC连接的数据库管理系统,它包括要访问的数据库和数据库的运行平台。数据源名掩盖了数据库服务器或数据库文件间的差别,通过定义多个数据源,每个数据源指向一个服务器名,就可在应用程序中实现同时访问多个DBMS 的目的。数据源 (Data Source Name ,简称DSN)是驱动程序与DBS连接的桥梁,数据源不是DBS ,而是用于表达一个 ODBC 驱动程序和DBMS 特殊连接的命名。在连接

3、中,用数据源名来代表用户名、服务器名、所连接的数据库名等,可以将数据源名看成是与一个具体数据库建立的连接。数据源分为以下三类: (1)用户数据源:用户创建的数据源,称为“用户数据源”。此时只有创建者才能使用,并且只能在所定义的机器上运行。任何用户都不能使用其他用户创建的用户数据源。 (2)系统数据源:所有用户和在Windows NT下以服务方式运行的应用程序均可使用系统数据源。(3) 文件数据源:文件数据源是ODBC 以上版本增加的一种数据源,可用于企业用户,ODBC驱动程序也安装在用户的计算机上。(与机器无关 )精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎

4、下载 名师归纳 - - - - - - - - - -第 1 页,共 34 页 - - - - - - - - - - 二、 SQL语言基础创建表格SQL语言中的create table语句被用来建立新的数据库表格。Create table语句的使用格式如下:create table tablename (column1 data type, column2 data type, column3 data type); 如果用户希望在建立新表格时规定列的限制条件,可以使用可选的条件选项:create table tablename (column1 data type constraint,

5、column2 data type constraint, column3 data type constraint); 举例如下:create table employee (firstname varchar(15), lastname varchar(20), age number(3), address varchar(30), city varchar(20); 简单来说,创建新表格时,在关键词create table后面加入所要建立的表格的名称,然后在括号内顺次设定各列的名称,数据类型,以及可选的限制条件等。注意,所有的SQL语句在结尾处都要使用“;”符号。使用 SQL语句创建的数

6、据库表格和表格中列的名称必须以字母开头,后面可以使用字母,数字或下划线,名称的长度不能超过30 个字符。注意, 用户在选择表格名称时不要使用SQL语言中的保留关键词, 如 select, create, insert等,作为表格或列的名称。数据类型用来设定某一个具体列中数据的类型。例如,在姓名列中只能采用varchar或 char 的数据类型,精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 34 页 - - - - - - - - - - 而不能使用number 的数据类型。SQL语言中较为常

7、用的数据类型为:char(size):固定长度字符串,其中括号中的size用来设定字符串的最大长度。Char 类型的最大长度为255 字节。varchar(size):可变长度字符串,最大长度由size设定。number(size):数字类型,其中数字的最大位数由size 设定。Date:日期类型。number(size,d):数字类型,size 决定该数字总的最大位数,而d 则用于设定该数字在小数点后的位数。最后,在创建新表格时需要注意的一点就是表格中列的限制条件。所谓限制条件就是当向特定列输入数据时所必须遵守的规则。例如, unique 这一限制条件要求某一列中不能存在两个值相同的记录,所

8、有记录的值都必须是唯一的。 除 unique 之外,较为常用的列的限制条件还包括not null和 primary key 等。 Not null用来规定表格中某一列的值不能为空。Primary key则为表格中的所有记录规定了唯一的标识符。查询简单的 SQL查询只包括选择列表、FROM 子句和 WHERE 子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。完整结构:Select All/Distinct From , WhereGroup by HavingOrder by Asc/Desc Group by :按列名1 的值进行分组,属性值相等的为一个组,如果带Having 短句

9、,表示只有满足指定条件的才输出。例如,下面的语句查询testtable表中姓名为“张三”的nickname 字段和 email 字段。SELECT nickname,email FROM testtable WHERE name= 张三 ( 一) 选择列表精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 34 页 - - - - - - - - - - 选择列表 (select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量) 等构成。1、选择所有列例如

10、,下面语句显示testtable表中所有列的数据:SELECT * FROM testtable2、选择部分列并指定它们的显示次序查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。例如:SELECT nickname,email FROM testtable3、更改列标题在选择列表中,可重新指定列标题。定义格式为:列标题 =列名列名列标题如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题:SELECT 昵称 =nickname, 电子邮件 =email FROM testtable4、删除重复行SELECT 语句中使用ALL或 DISTI

11、NCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认为 ALL。使用 DISTINCT选项时,对于所有重复的数据行在SELECT 返回的结果集合中只保留一行。5、限制返回的行数使用 TOP n PERCENT选项限制返回的数据行数,TOP n说明返回n 行,而 TOP n PERCENT 时,说明n 是表示一百分数,指定返回的行数等于总行数的百分之几。例如:SELECT TOP 2 * 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 34 页 - - - - - - - - - -

12、 FROM testtable SELECT TOP 20 PERCENT * FROM testtable( 二)FROM 子句FROM 子句指定SELECT 语句查询及与查询相关的表或视图。在FROM 子句中最多可指定256 个表或视图,它们之间用逗号分隔。在 FROM 子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列所属的表或视图。例如在usertable和 citytable表中同时存在cityid列,在查询两个表中的cityid时应使用下面语句格式加以限定:SELECT username, FROM usertable,citytable WHERE

13、= 在 FROM 子句中可用以下两种格式为表或视图指定别名:表名 as 别名表名别名( 二) FROM子句FROM 子句指定SELECT 语句查询及与查询相关的表或视图。在FROM 子句中最多可指定256 个表或视图,它们之间用逗号分隔。在 FROM 子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列所属的表或视图。例如在usertable和 citytable表中同时存在cityid列,在查询两个表中的cityid时应使用下面语句格式加以限定:SELECT username, FROM usertable,citytable WHERE = 在 FROM 子句中

14、可用以下两种格式为表或视图指定别名:精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 34 页 - - - - - - - - - - 表名 as 别名表名别名例如上面语句可用表的别名格式表示为:SELECT username, FROM usertable a,citytable b WHERE = SELECT 不仅能从表或视图中检索数据,它还能够从其它查询语句所返回的结果集合中查询数据。例如:SELECT + FROM authors a,titleauthor ta (SELECT ti

15、tle_id,title FROM titles WHERE ytd_sales10000 ) AS t WHERE = AND = 此例中,将SELECT 返回的结果集合给予一别名t ,然后再从中检索数据。( 三) 使用 WHERE 子句设置查询条件WHERE 子句设置查询条件,过滤掉不需要的数据行。例如下面语句查询年龄大于20 的数据:SELECT * FROM usertable WHERE age20 WHERE 子句可包括各种条件运算符:比较运算符 ( 大小比较 ) :、=、=、=、! 、 !=10 AND age=30 2、列表运算符例:country IN (Germany,Ch

16、ina) 3、模式匹配符例:常用于模糊查找,它判断列值是否与指定的字符串格式相匹配。可用于char 、varchar 、text 、ntext 、datetime和 smalldatetime等类型查询。可使用以下通配字符:百分号 % :可匹配任意类型和长度的字符,如果是中文,请使用两个百分号即% 。下划线 _:匹配单个任意字符,它常用来限制表达式的字符长度。方括号 :指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。 :其取值也 相同,但它要求所匹配对象为指定字符以外的任一个字符。例如:限制以 Publishing结尾,使用LIKE %Publishing 限制以 A开头: LIK

17、E A% 限制以 A开头外: LIKE A% 4、空值判断符例WHERE age IS NULL 5、逻辑运算符:优先级为NOT 、AND 、OR ( 四) 查询结果排序使用 ORDER BY 子句对查询返回的结果按一列或多列排序。ORDER BY 子句的语法格式为:ORDER BY column_name ASC|DESC ,n其中 ASC表示升序,为默认值,DESC 为降序。 ORDER BY 不能按 ntext 、 text和 image 数据类型进行排序。例如:SELECT * FROM usertable 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢

18、迎下载 名师归纳 - - - - - - - - - -第 7 页,共 34 页 - - - - - - - - - - ORDER BY age desc,userid ASC 另外,可以根据表达式进行排序。向表格中插入数据SQL语言使用insert语句向数据库表格中插入或添加新的数据行。Insert语句的使用格式如下:insert into tablename (first_column,.last_column) values (first_value,.last_value); 例如:insert into employee (firstname, lastname, age, add

19、ress, city) values ( Li , Ming, 45, Changan Road, Beijing ”);简单来说,当向数据库表格中添加新记录时,在关键词insert into后面输入所要添加的表格名称,然后在括号中列出将要添加新值的列的名称。最后,在关键词values的后面按照前面输入的列的顺序对应的输入所有要添加的记录值。更新记录SQL语言使用update 语句更新或修改满足规定条件的现有记录。Update 语句的格式为:update tablename set columnname = newvalue , nextcolumn = newvalue2. where co

20、lumnname OPERATOR value and|or column OPERATOR value; 例如:update employee set age = age+1 where first_name= Maryand last_name= Williams ;使用 update 语句时,关键一点就是要设定好用于进行判断的where 条件从句。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 34 页 - - - - - - - - - - 删除记录SQL语言使用delete语句删除数

21、据库表格中的行或记录。Delete 语句的格式为:delete from tablename where columnname OPERATOR value and|or column OPERATOR value; 例如:delete from employee where lastname = May; 简单来说,当需要删除某一行或某个记录时,在delete from关键词之后输入表格名称,然后在where 从句中设定删除记录的判断条件。注意,如果用户在使用delete语句时不设定where 从句,则表格中的所有记录将全部被删除。删除数据库表格在 SQL语言中使用drop table命令删

22、除某个表格以及该表格中的所有记录。Drop table命令的使用格式为:drop table tablename;例如:drop table employee; 如果用户希望将某个数据库表格完全删除,只需要在drop table命令后输入希望删除的表格名称即可。Drop table命令的作用与删除表格中的所有记录不同。删除表格中的全部记录之后,该表格仍然存在,而且表格中列的信息不会改变。而使用drop table命令则会将整个数据库表格的所有信息全部删除。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9

23、 页,共 34 页 - - - - - - - - - - 三、数据控件1、 ADO数据控件 ADO对象模型ADO(ActiveX Data Object) 数据访问接口是Microsoft处理数据库信息的最新技术。它是一种ActiveX对象,采用了被称为OLE DB的数据访问模式,是数据访问对象DAO 、远程数据对象RDO 和开放数据库互连ODBC 三种方式的扩展。 ADO对象模型定义了个可编程的分层对象集合,主要由三个对象成员Connection 、Command 和 Recordset对象,以及几个集合对象Errors 、Parameters 和 Fields等所组成。图示意了这些对象之

24、间的关系。表是对这些对象的分工描述。图 ADO 对象模型表 ADO对象描述对象名描 述Connection连接数据来源Command从数据源获取所需数据的命令信息Connection 对象Command 对象Recordset 对象Error集合Error对象Parameter 集合Parameter 对象Field集合Field对象精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 34 页 - - - - - - - - - - Recordset所获得的一组记录组成的记录集Error在访问

25、数据时,由数据源所返回的错误信息Parameter与命令对象有关的参数Field包含了记录集中某个字段的信息要想在程序中使用ADO对象,必须先为当前工程引用ADO的对象库。 引用方式是执行“工程”菜单的“引用”命令, 启动引用对话框, 在清单中选取“ Microsoft ActiveX Data Objects Library”选项。使用 ADO数据控件在使用ADO数据控件前,必须先通过“工程| 部件”菜单命令选择Microsoft ADO Data Control (OLEDB) ”选项, 将 ADO 数据控件添加到工具箱。ADO 数据控件与Visual Basic的内部 Data 控件很相

26、似,它允许使用ADO数据控件的基本属性快速地创建与数据库的连接。1ADO 数据控件的基本属性 (1)ConnectionString属性 ADO控件没有DatabaseName属性,它使用ConnectionString属性与数据库建立连接。该属性包含了用于与数据源建立连接的相关信息,ConnectionString属性带有4 个参数,如表所示。(2)RecordSource属性 RecordSource确定具体可访问的数据,这些数据构成记录集对象Recordset 。该属性值可以是数据库中的单个表名,一个存储查询,也可以是使用SQL查询语言的一个查询字符串。表 ConnectionStrin

27、g属性参数参数描述Provide指定数据源的名称FileName指定数据源所对应的文件名RemoteProvide在远程数据服务器打开一个客户端时所用的数据源名称RemoteServer在远程数据服务器打开一个主机端时所用的数据源名称 (3)ConnectionTimeout属性精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 34 页 - - - - - - - - - - 用于数据连接的超时设置,若在指定时间内连接不成功显示超时信息。(4)MaxRecords 属性定义从一个查询中最多能返

28、回的记录数。2. ADO 数据控件的方法和事件ADO数据控件的方法和事件与Data 控件的方法和事件完全一样。3设置 ADO数据控件的属性下面通过使用ADO 数据控件连接数据库来说明ADO数据控件属性的设置。步骤 1:在窗体上放置ADO 数据控件,控件名采用默认名“Adodcl”。步骤 2:单击 ADO 控件属性窗口中的ConnectionString属性右边的“”按钮,弹出“属性页”对话框。在该对话框中允许通过三种不同的方式连接数据源:“使用连接字符串”只需要单击“生成”按钮,通过选项设置自动产生连接字符串。“使用 Data Link文件”表示通过个连接文件来完成。“使用 ODBC 数据资源

29、名称”可以通过下拉式列表框,选择某个创建好的数据源名称(DSN),作为数据来源对远程数据库进行控制。步骤 3:采用“使用连接字符串”方式连接数据源。单击“生成”按钮,打开“数据链接属性”对话框。在“提供者”选项卡内选择一个合适的OLE DB数据源, 是 Access 数据库, 选择“Microsoft Jet OLE DB Provider ”选项。然后单击“下步”按钮或打开“连接”选项卡,在对话框内指定数据库文件,这里为。为保证连接有效,可单击“连接”选项卡右下方的“测试连接”按钮,如果测试成功则关闭ConnectionString属性页。步骤 4: 单击 ADO控件属性窗口中的Record

30、Source 属性右边的“”按钮,弹出记录源属性页对话框。在“命令类型”下拉式列表框中选择“2adCmdTable ”选项,在“表或存储过程名称”下拉式列表框中选择数据库中的“基本情况”表,关闭记录源属性页。此时,已完成了ADO数据控件的连接工作。由于 ADO 数据控件是一个ActiveX控件,也可以用鼠标右键单击ADO数据控件,在弹出的快捷菜单中选择“ ADODC 属性”菜单命令,打开ADO 数据控件属性页对话框,一次完成步骤1步骤 4 的全部设置。 ADO 数据控件上新增绑定控件的使用随着ADO对象模型的引入,Visual Basic 除了保留以往的一些绑定控件外,又提供了一些新的成员精品

31、资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 34 页 - - - - - - - - - - 来连接不同数据类型的数据。这些新成员主要有DataGrid 、 DataCombo 、 DataList、 DataReport 、MSHFlexGrid 、MSChart 控件和 MonthView 等控件。这些新增绑定控件必须使用ADO数据控件进行绑定。 Visual Basic 在绑定控件上不仅对DataSource 和 DataField属性在连接功能上作了改进,又增加了DataMember

32、 与 DataFormat属性使数据访问的队列更加完整。DataMember 属性允许处理多个数据集,DataFormat 属性用于指定数据内容的显示格式。例使用 ADO数据控件和DataGrid 数据网格控件浏览数据库,并使之具有编辑功能。在窗体上放置ADO 数据控件,并按前面介绍的ADO 数据控件属性设置过程连接数据库中的基本情况表。 DataGrid控件允许用户同时浏览或修改多个记录的数据。在使用DataGrid 控件前也必须先通过“工程| 部件”菜单命令选择“ Microsoft DataGrid Control (OLEDB)”选项,将DataGrid 控件添加到工具箱,再将Data

33、Grid控件放置到窗体上。设置DataGrid网格控件的DataSource 属性为Adodc1,就可将DataGrid1 绑定到数据控件Adodc1 上。显示在DataGrid网格内的记录集,可以通过DataGrid控件的AllowAddNew、 AllowDelete和AllowUpdate属性设置控制增,删、改操作。如果要改变DataGrid 网格上显示的字段,可用鼠标右键单击DataGrid 控件,在弹出的快捷菜单中选择“检索字段”选项。Visual Basic 提示是否替换现有的网格布局,单击“是”按钮就可将表中的字段装载到 DataGrid 控件中。再次用鼠标右键单击DataGri

34、d 控件,在弹出的快捷菜单中选择“编辑”选项,进入数据网格字段布局的编辑状态,此时,当鼠标指在字段名上时,鼠标指针变成黑色向下箭头。用鼠标右键单击需要修改的字段名,在弹出的快捷菜单中选择“删除”选项,就可从DataGrid 控件中删除该字段,也可选择“属性”选项修改字段的显示宽度或字段标题。图所示为具有增、删、改功能的数据网格绑定。标有号的记录行表示允许增加新记录。图具有增、删、改功能的数据网格绑定2、Data 控件 Data 控件是 Visual Basic 访问数据库的一种利器,它能够利用三种Recordset 对象来访问数据库中的数据,数据控件提供有限的不需编程而能访问现存数据库的功能,

35、允许将Visual Basic的窗体与数据库方便地进行连接。要利用数据控件返回数据库中记录的集合,应先在窗体上画出控件,再通过它的精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 13 页,共 34 页 - - - - - - - - - - 三个基本属性Connect 、DatabaseName和 RecordSource 设置要访问的数据资源。 Data控件属性 1Connect 属性 Connect属性指定数据控件所要连接的数据库类型,Visual Basic默认的数据库是Access 的 MDB文件

36、,此外,也可连接DBF 、XLS 、ODBC 等类型的数据库。 2DatabaseName属性 DatabaseName属性指定具体使用的数据库文件名,包括所有的路径名。如果连接的是单表数据库,则DatabaseName属性应设置为数据库文件所在的子目录名,而具体文件名放在RecordSource 属性中。例如,要连接一个Microsoft Access的数据库,则设置DatabaseName= ”C: ,Access 数据库的所有表都包含在一个MDB文件中。如果连接一个FoxPro 数据库如C:VB6, 则 DatabaseName= ”C:VB6 ”,RecordSource=”,stu_

37、fox数据库只含有一个表。 3RecordSource 属性RecordSource 确定具体可访问的数据,这些数据构成记录集对象Recordset 。该属性值可以是数据库中的单个表名,个存储查询,也可以是使用SQL查询语言的一个查询字符串。例如,要指定数据库中的基本情况表,则 RecordSource=”基本情况”。而 RecordSource=”Select From 基本情况 Where专业=物理 ”,则表示要访问基本情况表中所有物理系学生的数据。 4RecordType 属性 RecordType属性确定记录集类型。 5EofAction和 BofAction属性当记录指针指向Reco

38、rdset对象的开始( 第一个记录前) 或结束 ( 最后一个记录后) 时,数据控件的EofAction和 BofAction属性的设置或返回值决定了数据控件要采取的操作。属性的取值如表所示。表 EofAction和 BofAction属性属性取值操作精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 14 页,共 34 页 - - - - - - - - - - BofAction0控件重定位到第个记录1移过记录集开始位,定位到一个无效记录,触发数据控件对第一个记录的无效事件ValidateEofAction

39、0控件重定位到最后个记录1移过记录集结束位,定位到一个无效记录,触发数据控件对最后一个记录的无效事件Validate 2向记录集加入新的空记录,可以对新记录进行编辑,移动记录指针,新记录写入数据库在 Visual Basic中,数据控件本身不能直接显示记录集中的数据,必须通过能与它绑定的控件来实现。可与数据控件绑定的控件对象有文本框、标签、图像框、图形框、列表框、组合框、复选框、网格、DB列表框、 DB组合框、 DB网格和 OLE容器等控件。要使绑定控件能被数据库约束,必需在设计或运行时对这些控件的两个属性进行设置:(1)DataSource属性DataSource 属性通过指定个有效的数据控

40、件连接到一个数据库上。(2)DataField属性DataField属性设置数据库有效的字段与绑定控件建立联系。绑定控件、数据控件和数据库三者的关系如图所示。图 绑定控件、数据控件和数据库三者的关系当上述控件与数据控件绑定后,Visual Basic 将当前记录的字段值赋给控件。如果修改了绑定控件内的数据,只要移动记录指针,修改后的数据会自动写入数据库。数据控件在装入数据库时,它把记录集的第一个记录作为当前记录。当数据控件的BofAction属性值设置为2 时,当记录指针移过记录集结束位,数据控件会自动向记录集加入新的空记录。例建立数据库,它包含两个表:“基本情况”表和“学生成绩表”。参见表和

41、表。表学生基本情况表结构绑定控件数据控件数据库精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 15 页,共 34 页 - - - - - - - - - - 字段名类型宽度学号Text6姓名Text10性别Text2专业Text10出生年月Date8照片Binary0表 学生成绩表结构字段名类型宽度学号Text6课程Text10成绩Long4学期Text2用可视化数据管理器建立以上设计的数据库及其表,表中数据可自行录入。例设计一个窗体用以显示建立的数据库中基本情况表的内容。基本情况表包含了6 个字段,故需

42、要用6 个绑定控件与之对应。这里用一个图形框显示照片和5 个文本框显示学号、姓名等数据。本例中不需要编写任何代码,具体操作步骤如下:(1) 参考如图所示窗体,在窗体上放置1 个数据控件,一个图形框、5 个文本框和5 个标签控件。 5 个标签控件分别给出相关的提示说明。图显示基本情况表的数据(2) 将数据控件Data1的 Connect属性指定为Access 类型, DatabaseName 属性连接数据库,RecordSource 属性设置为“基本情况”表。(3) 图形框和5个文本框控件Text1 Text5 的 DataSource 属性都设置成Data1。 通过单击这些绑定控件的 Data

43、Field属性上的“”按钮,将下拉出基本情况表所含的全部字段,分别选择与其对应的字段照片、学号、姓名、性别、专业和出生年月,使之建立约束关系。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 16 页,共 34 页 - - - - - - - - - - 运行该工程即可出现图所示效果。5 个文本框分别显示基本情况表内的字段:学号、姓名、性别、专业和出生年月的内容,图形框显示每个学生的照片。使用数据控件对象的4个箭头按钮可遍历整个记录集中的记录。单击最左边的按钮显示第l 条记录;单击其旁边的按钮显示上一条记录

44、;单击最右边的按钮显示最后一条记录;单击其旁边的按钮显示下条记录。数据控件除了可以浏览Recordset 对象中的记录外,同时还可以编辑数据。如果改变了某个字段的值,只要移动记录,这时所作的改变存入数据库中。Visual Basic 提供了几个比较复杂的网格控件,几乎不用编写代码就可以实现多条记录数据显示。当把数据网格控件的DataSource 属性设置为一个Data 控件时,网格控件会被自动地填充,并且其列标题会用 Data 控件的记录集里的数据自动地设置。 data控件与 MsFlexGrid控件结合显示数据库中信息例用数据网格控件MsFlexGrid 显示数据库中基本情况表的内容。MsF

45、lexGrid控件不是Visual Basic 工具箱内的默认控件,需要在开发环境中选择“工程| 部件”菜单命令,并在随即出现的对话框中选择“MicroSoft FlexGrid Control 6.0”选项,将其添加到工具箱中。本例所用控件的属性设置如表所示。请读者自行比较不可卷动列属性FixedCols=0与 FixedCols=1的区别。Form 启动后自动显示如图所示窗口。表控件属性默认控件名其它属性设置Data1DatabaseName= ”c:”RecordsetType=0RecordSource=”基本情况”MSFlexGrid1DataSource=Data1FixCols=

46、0图使用数据网格控件精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 17 页,共 34 页 - - - - - - - - - - 数据控件的常用方法数据控件的内置功能很多,可以在代码中用数据控件的方法访问这些属性。1Refresh 方法如果在设计状态没有为打开数据库控件的有关属性全部赋值,或当RecordSource 在运行时被改变后,必须使用数据控件的Refresh 方法激活这些变化。在多用户环境下,当其他用户同时访问同一数据库和表时, Refresh 方法将使各用户对数据库的操作有效。例如:将例的设

47、计参数改用代码实现,使所连接数据库所在的文件夹可随程序而变化:Private Sub Form_Load( ) Dim mpath As StringMpath= 获取当前路径If Right(mpath,1)”/ ” Then mpath=mpath+”/ ”=mpath+ ” 连接数据库=”基本情况” 构成记录集对象激活数据控件End Sub2UpdateControls方法UpdateControls方法可以将数据从数据库中重新读到被数据控件绑定的控件内。因而我们可使用UpdateControls方法终止用户对绑定控件内数据的修改。例如:将代码放在一个命令按钮的Click事件中,就可以实

48、现对记录修改的功能。 3. UpdateRecord方法当 对 绑 定 控 件 内的 数 据修 改 后 , 数 据 控件 需 要移 动 记 录 集 的 指针 才 能保 存 修 改 。 如 果使 用UpdateRecord 方法,可强制数据控件将绑定控件内的数据写入到数据库中,而不再触发Validate事件。在代码中可以用该方法来确认修改。记录集的属性与方法精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 18 页,共 34 页 - - - - - - - - - - 由 RecordSource确定的具体可

49、访问的数据构成的记录集Recordset也是一个对象,因而,它和其他对象一样具有属性和方法。下面列出记录集常用的属性和方法。1AbsolutePosition属性AbsolutePosition返回当前指针值,如果是第1 条记录,其值为0,该属性为只读属性。2Bof 和 Eof 的属性 Bof判定记录指针是否在首记录之前,若Bof 为 True,则当前位置位于记录集的第1 条记录之前。与此类似, Eof 判定记录指针是否在末记录之后。3Bookmark 属性 Bookmark属性的值采用字符串类型,用于设置或返回当前指针的标签。在程序中可以使用Bookmark属性重定位记录集的指针,但不能使用

50、AbsolutePostion属性。4Nomatch属性在记录集中进行查找时,如果找到相匹配的记录,则 Recordset的 NoMatch 属性为 False , 否则为 True 。该属性常与Bookmark 属性一起使用。5RecordCount 属性 RecordCount属性对 Recordset对象中的记录计数, 该属性为只读属性。 在多用户环境下, RecordCount属性值可能不准确,为了获得准确值,在读取RecordCount 属性值之前,可使用MoveLast 方法将记录指针移至最后一条记录上。6Move方法使用 Move方法可代替对数据控件对象的4 个箭头按钮的操作遍历

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁