一个超级简单的vb数据库

一个超级简单的vb数据库,第1张

在VB中,访问数据一般有两种方式。一是非编码方式,主要通过Data等控件,可以不需要任何编程,只需简单设置控件的一些属性并结合文本框等普通控件即可方便地显示和 *** 作数据库中的数据。二是通过编写代码,即利用数据访问对象(DAO)来实现。虽然编写代码要花费更多的时间与精力,但却可以实现更灵活更复杂的 *** 作(如图1)。

首先介绍几个常用的VB数据库概念:

表(Table):即关系数据库中物理存在的二维表。VB的一个数据库文件可以包含相关的多个二维表。在成功打开一个数据库之后,必须打开一个表才能对其中的数据进行 *** 作。

记录集(RecordSet):来自表中的记录或者执行一个查询而产生的记录,这些记录就组成了一个记录的集合。在VB中数据库表中的数据不允许直接访问,而只能通过创建于内存中的这些记录集进行记录的浏览与 *** 作。

SQL语言:一种数据库管理中的通用结构化查询语言。

现在介绍一下VB中的“可视化数据管理器(Visual

Data

Manager)”。可视化数据管理器具有进行数据库的创建、查看、修改库结构以及输入记录等功能。下面介绍如何利用它建立一个完整的数据库文件。

一、创建表

1.

从“外接程序”选单中,选择“可视化数据管理器”,这时出现VisData可视化数据管理器窗口。分别移动鼠标指针到工具栏上的前三个按钮,系统会提示要以何种记录集类型来访问VB数据库:一是“表类型记录集”,二是“动态集类型记录集”,三是“快照类型记录集”。我们先选择“动态集类型记录集”。

2.

从“可视化数据管理器”的“文件”选单中选择“新建”,选择“MicroSoft

Access”类型,再选择“版本7.0MDB”。

3.

选择保存库文件的目录(设把文件保存在C盘的根目录中,文件名为Myfile)。

4.

这时出现“数据库”窗口,此时数据库已存在,但还不包含任何的表名以及字段定义等表结构。点击右键,选择“新表”,添加一个新表,出现“表结构”对话框,在“表名”框中输入表名(本例表名为Phone)。

5.

单击“添加字段”按钮,显示“添加字段”对话框。按要求分别定义“字段名”、“类型”及“大小”。先输入第一个字段,然后按“确定”,反复这一过程,直到输入全部的字段(本例字段分别为“序号”,“Long”,“4”;“姓名”,“text”,“8”;“电话”,“text”,“15”;“地址”,“text”,“30”)。

6.

单击“关闭”,从“添加字段”对话框退回到“表结构”窗。点击“生成新表”,保存表结构。

图1

VB访问数据库的两种方法

7.

在“数据库”窗双击新建的表名,按“添加”开始向表中添加记录,完毕后按“更新”。反复这一过程,向表中多增添几个记录。

8.在数据库中再建一个表,表名为Article。表包含字段为“序号”,“Long”,“4”;“作品”,“text”,“15”(为了简单起见表中只有两个字段)。向表中增加几条记录,比如序号1对应有多个作品,序号2也有多个作品。

二、增加索引

右键单击Phone表名,选择“设计”,在表设计窗口的底部,单击“添加索引”按钮,可打开“添加索引到……”对话框。

从“可用字段”列表中选择要进行索引的字段名放到“索引字段”列表中,根据需要选中“主要的”、“惟一的”、“忽略空值”复选框中的一个或多个的组合,在“名称”中加入索引名,保存该索引。

三、SQL查询

在“可视化数据管理器”中打开一个库文件,在d出“数据库”窗口的同时,在其后面会d出一个“SQL语句”对话框。把其变为当前窗口,可在其中输入SQL语句,比如:select

phone.姓名,article.作品

from

phone,article

where

phone.序号=article.序号。

然后点击“执行”按钮,d出对话框提问“这是SQL传递查询吗?”直接回车,选择默认选项“否”,确认查询,即可从两个表中提取满足条件的记录信息。还可以点击“清除”按扭清除框中的查询语句或按“保存”在数据库中保存此查询。值得注意的是,查询中保存的只是查询定义语句,而并未物理保存这些被查询的记录数据。

Private Sub Add_Data() '增加记录 Data1.Recordset.AddNew End Sub Private Sub Delete_Data() '删除当前记录 If MsgBox("是否删除当前记录?", vbYesNo, "确认") = vbYes Then Data1.Recordset.Delete Data1.Recordset.MovePrevious End If End Sub Private Sub Find_Data() '查找指定学号的记录 Dim str_Find_Stuno As String str_Find_Stuno = InputBox("请输入学号:", "查找") Data1.Recordset.FindFirst "Stu_no = ' " &str_Find_Stuno &" ' " If Data1.Recordset.NoMatch = True Then MsgBox "对不起,没有您要查找的记录!" End If End Sub Private Sub Save_Data() '保存数据 Data1.UpdateRecord End Sub Private Sub Cancel_Data() '取消编辑数据 Data1.UpdateControls End Sub Private Sub Data1_Reposition() '显示当前记录所在位置 Data1.Caption = 1 + Data1.Recordset.AbsolutePosition &_ " of " &Data1.Recordset.RecordCount End Sub Private Sub Add_Click() '"增加"菜单命令 Add_Data End Sub Private Sub Delete_Click() '"删除"菜单命令 Delete_Data End Sub Private Sub Find_Click() '"查找"菜单命令 Find_Data End Sub Private Sub Save_Click() '"保存"菜单命令 Save_Data End Sub Private Sub Cancel_Click() '"取消"菜单命令 Cancel_Data End Sub Private Sub Exit_Click() '"退出"菜单命令 End End Sub


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10010952.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存