VB-数据库编程技术实例_第1页
VB-数据库编程技术实例_第2页
VB-数据库编程技术实例_第3页
VB-数据库编程技术实例_第4页
VB-数据库编程技术实例_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1、word.专业技术行业资料范文范例学习参考指导.VB-数据库编程技术一 ODBC 概述在传统的数据库管理系统中, 每个数据库管理系统都有自己的应用程序开发接口 (API) ,为了解决此问 题,微软公司开发了 ODBC(Open DataBase Connectivity ,即开放数据库互连 )。ODBC 是一套开放数据库系统应用程序接口规范, 目前它已成为一种工业标准, 它提供了统一的数据 库应用编程接口 (API) ,为应用程序 提供了一套高层调用接口规范和基于动态连接库的运行支持环境 。使用 ODBC 开发数据库应用时, 应用程序调用的是标准的 ODBC 函数和 SQL 语句,屏蔽了 DB

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

3、S连接的桥梁,数据源不是 DBS,而是用于表 达一个 ODBC 驱动程序和 DBMS 特殊连接的命名。在连接中,用数据源名来代表用户名、服务器名、所 连接的数据库名等,可以将数据源名看成是与一个具体数据库建立的连接。数据源分为以下三类:(1) 用户数据源:用户创建的数据源,称为 “用户数据源 ”。此时 只有创建者才能使用,并且只能在所定 义的机器上运行 。任何用户都不能使用其他用户创建的用户数据源。(2) 系统数据源:所有用户和在 Windows NT 下以服务方式运行的应用程序均可使用系统数据源。(3) 文件数据源:文件数据源是 ODBC3.0以上版本增加的一种数据源,可用于企业用户,ODB

4、C驱区动程序也安装在用户的计算机上。 (与机器无关 )二、SQL 语言基础创建表格Create table 语句的使用格式如下:SQL语言中的create table语句被用来建立新的数据库表格。create table tablename(column1 data type,colu mn2 data type,colu mn3 data type);如果用户希望在建立新表格时规定列的限制条件,可以使用可选的条件选项:create table table name(colu mn1 data type con stra in t,colu mn2 data type con stra in

5、t,colu mn3 data type con stra in t);举例如下:create table employee(first name varchar(15),last name varchar(20),age nu mber(3),address varchar(30),city varchar(20);简单来说,创建新表格时,在关键词create table后面加入所要建立的表格的名称,然后在括号内顺次设定各列的名称,数据类型,以及可选的限制条件等。注意,所有的SQL语句在结尾处都要使用“;”符号。使用SQL语句创建的数据库表格和表格中列的名称必须以字母开头,后面可以使用字母,

6、数字或下划线, 名称的长度不能超过30个字符。注意,用户在选择表格名称时不要使用SQL语言中的保留关键词,如select,create, i nsert等,作为表格或列的名称。数据类型用来设定某一个具体列中数据的类型。例如,在姓名列中只能采用varchar或char的数据类型,而不能使用number的数据类型。SQL语言中较为常用的数据类型为:char(size):固定长度字符串,其中括号中的size用来设定字符串的最大长度。Char类型的最大长度为255字节。varchar(size):可变长度字符串,最大长度由size设定。number(size):数字类型,其中数字的最大位数由size设

7、定。Date :日期类型。number(size,d):数字类型,size决定该数字总的最大位数,而d则用于设定该数字在小数点后的位数。最后,在创建新表格时需要注意的一点就是表格中列的限制条件。所谓限制条件就是当向特定列输入数据 时所必须遵守的规则。例如,unique这一限制条件要求某一列中不能存在两个值相同的记录,所有记录的值都必须是唯一的。除unique之外,较为常用的列的限制条件还包括not null和primary key等。Not null用来规定表格中某一列的值不能为空。Primary key则为表格中的所有记录规定了唯一的标识符。查询简单的SQL查询只包括选择列表、FROM子句和

8、 WHERE子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。完整结构:Select All/Distinct From, WhereGroup by HavingOrder by Asc/DescGroup by :按列名1的值进行分组,属性值相等的为一个组,如果带Having短句,表示只有满足指定条件的才输出。例如,下面的语句查询testtable表中姓名为 张三的nickname字段和email字段。word.专业技术行业资料SELECT n ick name,emailFROM testtableWHERE name=张三(一)选择列表选择列表(select_list)指出所

9、查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。1选择所有列例如,下面语句显示 testtable表中所有列的数据:SELECT *FROM testtable2、选择部分列并指定它们的显示次序查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。 例如:SELECT n ick name,emailFROM testtable3、更改列标题在选择列表中,可重新指定列标题。定义格式为:列标题=列名列名列标题如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列 标题:SELECT 昵称=nickname,电子邮件=e

10、mailFROM testtable4、删除重复行SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默 认为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。5、限制返回的行数使用TOP n PERCENT选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT时,说明n是表示一百分数,指定返回的行数等于总行数的百分之几。例如:SELECT TOP 2 *FROM testtableSELECT TOP 20 PERCENT *FROM testtable(二)FROM 子句F

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

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

13、yid在FROM子句中可用以下两种格式为表或视图指定别名:表名as别名表名别名例如上面语句可用表的别名格式表示为:SELECT user name,b.cityidFROM usertable a,citytable bWHERE a.cityid=b.cityidSELECT不仅能从表或视图中检索数据,它还能够从其它查询语句所返回的结果集合中查询数据。 例如:SELECT a.au_fname+a.au _ln ameFROM authors a,titleauthor ta(SELECT title_id,titleFROM titlesWHERE ytd_sales10000)AS tW

14、HERE a.aud=ta.audAND ta.title_id=t.title_id此例中,将SELECT返回的结果集合给予一别名t,然后再从中检索数据。(三)使用 WHERE子句设置查询条件WHERE子句设置查询条件,过滤掉不需要的数据行。例如下面语句查询年龄大于20的数据:SELECT *FROM usertableWHERE age20WHERE子句可包括各种条件运算符:比较运算符(大小比较):、=、=、=、!、!范围运算符(表达式值是否在指定的范围):BETWEE-NANO-NOT BETWEEN- AND列表运算符(判断表达式是否为列表中的指定项):IN (项1,项2)NOT IN

15、 (项1,项2)模式匹配符(判断值是否与指定的字符通配格式相符):LIKE、NOT LIKE空值判断符(判断表达式是否为空):IS NULL、NOT IS NULL.范文范例学习参考指导.word.专业技术行业资料逻辑运算符(用于多条件的逻辑连接):NOT、AND、OR1 范围运算符例:age BETWEEN 10 AND 30 相当于 age=10 AND age DataReport、MSHFlexGrid、MSChart控件和MonthView等控件。这些新增绑定控件必须使用 ADO数据控件进行绑定。Visual Basic 6.0在绑定控件上不仅对 DataSource和DataFie

16、ld属性在连接功能上作了改进,又增加了 DataMember与DataFormat属性使数据访问的队列更加完整。DataMember属性允许处理多个数据集,DataFormat属性用于指定数据内容的显示格式。例9.6使用ADO数据控件和DataGrid数据网格控件浏览数据库 Student.mdb,并使之具有编辑功能。 在窗体上放置 ADO数据控件,并按前面介绍的ADO数据控件属性设置过程连接数据库Student.mdb中的基本情况表。.范文范例学习参考指导.word.专业技术行业资料DataGrid控件允许用户同时浏览或修改多个记录的数据。在使用DataGrid控件前也必须先通过工程|部件”

17、菜单命令选择 “Microsoft DataGridControl 6.0QLEDB)”选项,将 DataGrid控件添加到工具箱,再将DataGrid控件放置到窗体上。设置DataGrid网格控件的 DataSource属性为Adodcl,就可将DataGridl绑定到数据控件 Adodc1上。显示在 DataGrid 网格内的记录集,可以通过DataGrid 控件的 AllowAddNew、AllowDelete 和AllowUpdate属性设置控制增,删、改操作。如果要改变 DataGrid网格上显示的字段,可用鼠标右键单击DataGrid控件,在弹出的快捷菜单中选择检索字段”选项。Vi

18、sual Basic提示是否替换现有的网格布局,单击是”按钮就可将表中的字段装载到DataGrid控件中。再次用鼠标右键单击DataGrid控件,在弹出的快捷菜单中选择编辑”选项,进入数据网格字段布局的编辑状态,此时,当鼠标指在字段名上时,鼠标指针变成黑色向下箭头。用鼠标右键单击需 要修改的字段名,在弹出的快捷菜单中选择删除”选项,就可从DataGrid控件中删除该字段,也可选择 属性”选项修改字段的显示宽度或字段标题。图9.14所示为具有增、删、改功能的数据网格绑定。标有号的记录行表示允许增加新记录。图9.14 具有增、删、改功能的数据网格绑定2、Data控件Data 控件是Visual B

19、asic访问数据库的一种利器,它能够利用三种Recordset对象来访问数据库中的数据,数据控件提供有限的不需编程而能访问现存数据库的功能,允许将Visual Basic的窗体与数据库方便地进行连接。要利用数据控件返回数据库中记录的集合,应先在窗体上画出控件,再通过它的三个基本属性Connect、DatabaseName和RecordSource设置要访问的数据资源。2.1 Data控件属性1. Connect 属性Connect属性指定数据控件所要连接的数据库类型,Visual Basic默认的数据库是 Access的MDB文件,此外,也可连接 DBF、XLS、ODBC等类型的数据库。2.

20、DatabaseName属性DatabaseName属性指定具体使用的数据库文件名,包括所有的路径名。如果连接的是单表数据库,则DatabaseName属性应设置为数据库文件所在的子目录名,而具体文件名放在RecordSource属性中。.范文范例学习参考指导.word.专业技术行业资料例如,要连接一个 Microsoft Access 的数据库 C:Student.mdb,则设置 DatabaseName= ” 0Student.mdb, Access数据库的所有表都包含在一个 MDB文件中。如果连接一个 FoxPro数据库如C:VB6 stu_fox.dbf, 则 DatabaseName

21、= C:VB6 , RecordSource=” stu_fox.dbf, stu_fox 数据库只含有一个表。3. RecordSource 属性RecordSource确定具体可访问的数据,这些数据构成记录集对象Recordset。该属性值可以是数据库中的单个表名,一个存储查询,也可以是使用SQL查询语言的一个查询字符串。例如,要指定Student.mdb数据 库中的 基本情况表,则 RecordSource=”基本情 况”。而 RecordSource= ” SelecFrom基本情况 Where专业=物理,则表示要访问基本情况表中所有物理系学生 的数据。4. RecordType 属性

22、RecordType属性确定记录集类型。5. EofAction 和 BofAction 属性当记录指针指向Recordset对象的开始(第一个记录前)或结束(最后一个记录后)时,数据控件的EofAction和BofAction属性的设置或返回值决定了数据控件要采取的操作。属性的取值如表9.1所示。表 9.1 EofAction 和 BofAction 属性属性取值操作BofAction0控件重定位到第一个记录1移过记录集开始位,定位到一个无效记录,触发数据控件对第一个记录的无效事件 ValidateEofAction0控件重定位到最后一个记录1移过记录集结束位,定位到一个无效记录,触发数据控

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

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

25、表9.2学生基本情况表结构字段名类型宽度学号Text6姓名Text10性别Text2专业Text10岀生年月Date8照片Binary0表9.3学生成绩表结构字段名类型宽度学号Text6课程Text10成绩Long4学期Text2用可视化数据管理器建立以上设计的数据库及其表,表中数据可自行录入。例9.2设计一个窗体用以显示建立的student.mdb数据库中基本情况表的内容。基本情况表包含了 6个字段,故需要用 6个绑定控件与之对应。这里用一个图形框显示照片和5个文本框显示学号、姓名等数据。本例中不需要编写任何代码,具体操作步骤如下:(1) 参考如图9.8所示窗体,在窗体上放置1个数据控件,一

26、个图形框、5个文本框和5个标签控件。5个标签控件分别给出相关的提示说明。图9.8 显示Student.mdb基本情况表的数据(2) 将数据控件 Datal的Connect属性指定为 Access类型,DatabaseName属性连接数据库 Student.mdb, RecordSource属性设置为基本情况表。(3) 图形框和5个文本框控件 Text1Text5的DataSource属性都设置成 Data1。通过单击这些绑定控件的DataField属性上的“按钮,将下拉出基本情况表所含的全部字段,分别选择与其对应的字段照片、学号、姓名、性别、专业和出生年月,使之建立约束关系。运行该工程即可出现

27、图9.8所示效果。5个文本框分别显示基本情况表内的字段:学号、姓名、性别、专业和出生年月的内容,图形框显示每个学生的照片。使用数据控件对象的 4个箭头按钮可遍历整个记录集中的记录。单击最左边的按钮显示第I条记录;单击其旁边的按钮显示上一条记录;单击最右边的按钮显示最后一条记录;单击其旁边的按钮显示下一条记录。数据控件除了可以浏览Recordset对象中的记录外,同时还可以编辑数据。如果改变了某个字段的值,只要移动记录,这时所作的改变存入数据库中。Visual Basic 6.0提供了几个比较复杂的网格控件,几乎不用编写代码就可以实现多条记录数据显示。 当把数据网格控件的DataSource属性

28、设置为一个 Data控件时,网格控件会被自动地填充,并且其列标题会用Data控件的记录集里的数据自动地设置。2.2 data控件与MsFlexGrid控件结合显示数据库中信息例9.3用数据网格控件 MsFlexGrid显示Student.mdb数据库中基本情况表的内容。MsFlexGrid控件不是Visual Basic工具箱内的默认控件,需要在开发环境中选择工程|部件”菜单命令,并在随即出现的对话框中选择“MicroSoft FlexGrid Control 6.0选项,将其添加到工具箱中。本例所用控件的属性设置如表 9.4所示。请读者自行比较不可卷动列属性FixedCols=0与Fixed

29、Cols=1的区别。Form启-n| X动后自动显示如图 9.9所示窗口。学号性别出生年月010001383 - 2-23010010010014丁保民19337-141932-11-110200031982-12-30020011慈敏红女(1平丫耳福盏古机电1993-10-11iqno-1-R zi表9.4控件属性默认控件名其它属性设置DatalDatabaseName=w cstudent.mdb ”RecordsetType=0RecordSource=基本情况”MSFlexGridlDataSource=Data1FixCols=0椅阿格卿宇到数据库范文范例学习参考指导nnIHKIEE

30、S图9.9使用数据网格控件2.3数据控件的常用方法数据控件的内置功能很多,可以在代码中用数据控件的方法访问这些属性。1. Refresh 方法如果在设计状态没有为打开数据库控件的有关属性全部赋值,或当RecordSource在运行时被改变后,必须使用数据控件的Refresh方法激活这些变化。在多用户环境下,当其他用户同时访问同一数据库和表时,Refresh方法将使各用户对数据库的操作有效。例如:将例9.2的设计参数改用代码实现,使所连接数据库所在的文件夹可随程序而变化:Private Sub Form_Load()Dim mpath As Stri ngMpath=App.Path获取当前路径

31、If Right(mpath,1) ” /” Then mpath=mpath+ ” /”Data1.DatabaseName=mpath+ ” Student.mdb ” 连接数据库 Data1.RecordSource=基本情况”构成记录集对象Datal.Refresh激活数据控件End Sub2. UpdateControls 方法UpdateControls方法可以将数据从数据库中重新读到被数据控件绑定的控件内。因而我们可使用 UpdateControls方法终止用户对绑定控件内数据的修改。例如:将代码Datal.UpdateC on trots放在一个命令按钮的Click事件中,就可

32、以实现对记录修改的功能。3. UpdateRecord 方法当对绑定控件内的数据修改后,数据控件需要移动记录集的指针才能保存修改。如果使用 UpdateRecord方法,可强制数据控件将绑定控件内的数据写入到数据库中,而不再触发Validate事件。在代码中可以用该方法来确认修改。2.4记录集的属性与方法由RecordSource确定的具体可访问的数据构成的记录集Recordset也是一个对象,因而,它和其他对象一样具有属性和方法。下面列出记录集常用的属性和方法。1. AbsolutePosition属性AbsolutePosition返回当前指针值,如果是第1条记录,其值为 0,该属性为只读

33、属性。2. Bof和Eof的属性Bof判定记录指针是否在首记录之前,若Bof为True,则当前位置位于记录集的第1条记录之前。与此类似,Eof判定记录指针是否在末记录之后。3. Bookmark 属性Bookmark属性的值采用字符串类型,用于设置或返回当前指针的标签。在程序中可以使用Bookmark属性重定位记录集的指针,但不能使用AbsolutePostion属性。4. Nomatch 属性在记录集中进行查找时,如果找到相匹配的记录,则Recordset的NoMatch属性为False,否则为True。该属性常与Bookmark属性一起使用。5. RecordCount 属性RecordC

34、ount属性对Recordset对象中的记录计数, 该属性为只读属性。在多用户环境下,RecordCount属性值可能不准确,为了获得准确值,在读取RecordCount属性值之前,可使用MoveLast方法将记录指针 移至最后一条记录上。6. Move方法使用Move方法可代替对数据控件对象的4个箭头按钮的操作遍历整个记录集。5种Move方法是:MoveFirst方法:移至第1条记录。(2) MoveLast方法:移至最后一条记录。(3) MoveNext方法:移至下一条记录。(4) MovePrevious方法:移至上一条记录。(5) Move n方法:向前或向后移n条记录,n为指定的数值

35、。例9.4在窗体上用4个命令按钮代替例 9.2数据控件对象的4个箭头按钮的操作。在例9.2的基础上,窗体上增加4个命令按钮,将数据控件的Visible属性设置为False,如图9.10所示。通过对4个命令按钮的编程代替对数据控件对象的4个箭头按钮的操作。图9.10用按钮代替数据控件对象的箭头按钮命令按钮 Command1_Click事件移至第1条记录,代码如下:Private Sub Comma nd1_Click()Datal.Recordset.MoveFirstEnd Sub命令按钮Command4_Click事件移至最后一条记录,代码如下:Private Sub Comma nd4_C

36、lick()Data1.Recordset.MoveLastEnd Sub另外两个按钮的代码需要考虑Recordset对象的边界的首尾,如果越界,则用MoveFirst方法定位到第1条记录或用 MoveLast方法定位到最后一条记录。程序代码如下:Private Sub Comma nd2_Click()Data1.Recordset.MovePreviousIf Data1.Recordset.BOF The n Data1.Recordset.MoveFirstEnd SubPrivate Sub Comma nd3_Click()Data1.Recordset.MoveNextIf Da

37、ta1.Recordset.EOF The n Data1.Recordset.MoveLastEnd Sub7. Find方法使用Find方法可在指定的 Dynaset或Snapshot类型的Recordset对象中查找与指定条件相符的一条记 录,并使之成为当前记录。4种Find方法是:(1) FindFirst方法:从记录集的开始查找满足条件的第1条记录。(2) FindLast方法:从记录集的尾部向前查找满足条件的第I条记录。(3) FindNext方法:从当前记录开始查找满足条件的下一条记录。(4) FindPrevious方法:从当前记录开始查找满足条件的上一条记录。4种Find方法

38、的语法格式相同:数据集合.Find方法条件搜索条件是一个指定字段与常量关系的字符串表达式。在构造表达式时,除了用普通的关系运算外,还可以用Like运算符。例如:语句 “ Data1.Recordset.FindFirst专业=物理表示在由Data1数据控件所连接的数据库Student.mdb的记录集内查找专业为物理的第I条记录。这里,专业为数据库Student记录集中的字段名,在该字段中存放专业名称信息。要想查找下一条符合条件的记录,可继续使用语 句:” Data1.Recordset.FindNext 专业=物理。又例如:要在记录集内查找专业名称中带有建”字的专业:Data1.Records

39、et.FindFirst 专业 Like ”建* ”word.专业技术行业资料字符串“建* ”匹配字段专业中带有建”字字样的所有专业名称字符串。需要指出的是 Find方法在找不到相匹配的记录时,当前记录保持在查找的始发处,NoMatch属性为True。如果Find方法找到相匹配的记录,则记录定位到该记录,Recordset的NoMatch属性为False。8. Seek方法使用Seek方法必须打开表的索引,它在Table表中查找与指定索引规则相符的第1条记录,并使之成为当前记录。其语法格式为:数据表对象.seek comparison,keyl,key2Seek允许接受多个参数,第1个是比较运

40、算符 comparison, Seek方法中可用的比较运算符有=、=、=等。Seek 方在使用Seek方法定位记录时,必须通过Index属性设置索引。若在记录集中多次使用同样的法(参数相同),那么找到的总是同一条记录。110001 的第 1设置记录集类型为 Table打开基本情况表单打开名称为jbqk_no的索引例如:假设数据库 Student内基本情况表的索引字段为学号,满足学号字段值大于等于 条记录可使用以下程序代码:Data1.RecordsetType = 0 Data1.RecordSource =基本情况”Data1.RefreshData1.Recordset.lndex = j

41、bqk _noData1.Recordset.Seek =, 1100012.5数据库记录的增、删、改操作Data控件是浏览表格并编辑表格的好工具,但怎么输入新信息或删除现有记录呢?这需要编写几行代码,否则无法在Data控件上完成数据输入。数据库记录的增、 删、改操作需要使用 AddNew Delete、Edit、Update和Refresh方法。它们的语法格式为:数据控件.记录集.方法名1 .增加记录AddNew方法在记录集中增加新记录。增加记录的步骤为:(1) 调用AddNew方法。(2) 给各字段赋值。给字段赋值格式为:Recordset.Fields(字段” ”)值。调用Update方

42、法,确定所做的添加,将缓冲区内的数据写入数据库。注意:如果使用 AddNew方法添加新的记录,但是没有使用Update方法而移动到其他记录,或者关闭记录集,那么所做的输入将全部丢失,而且没有任何警告。当调用Update方法写入记录后,记录指针自动返回到添加新记录前的位置上,而不显示新记录。为此,可在调用Update方法后,使用 MoveLast方法将记录指针再次移到新记录上。2 .删除记录要从记录集中删除记录的操作分为三步:(1) 定位被删除的记录使之成为当前记录。(2) 调用Delete方法。(3) 移动记录指针。注意:在使用Delete方法时,当前记录立即删除,不加任何的警告或者提示。删除一条记录后,被数 据库所约束的绑定控件仍旧显示该记录的内容。因此,你必须移动记录指针刷新绑定控件,一般采用移至下一记录的处理方法。在移动记录指针后,应该检查Eof属性。3

温馨提示

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

评论

0/150

提交评论