| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3230 人关注过本帖, 1 人收藏
标题:应网友之托发布:VB数据库基础
只看楼主 加入收藏
pigpigpig
Rank: 1
等 级:新手上路
帖 子:51
专家分:0
注 册:2004-4-18
收藏(1)
 问题点数:0 回复次数:23 
应网友之托发布:VB数据库基础
在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查询


在“可视化数据管理器”中打开一个库文件,在弹出“数据库”窗口的同时,在其
后面会弹出一个“SQL语句”对话框。把其变为当前窗口,可在其中输入SQL语句
,比如:select phone.姓名,article.作品 from phone,article where phone.序号
=article.序号。 然后点击“执行”按钮,弹出对话框提问“这是SQL传递查询吗?”
直接回车,选择默认选项“否”,确认查询,即可从两个表中提取满足条件的记录
信息。还可以点击“清除”按扭清除框中的查询语句或按“保存”在数据库中保存
此查询。值得注意的是,查询中保存的只是查询定义语句,而并未物理保存这些被
查询的记录数据。

[此贴子已经被作者于2004-04-23 08:16:51编辑过]


搜索更多相关主题的帖子: 数据库 物理 基础 网友 控件 
2004-04-23 08:16
一叶秋
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2004-4-21
收藏
得分:0 
2004-04-23 18:40
headbegger
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2004-4-30
收藏
得分:0 
谢谢!我对数据库尚一无所知,真的太感谢了!
2004-04-30 23:17
C++大粉丝
Rank: 4
等 级:贵宾
威 望:10
帖 子:477
专家分:0
注 册:2004-4-23
收藏
得分:0 
有点太基础了

I am a big fan of c plus plus.
2004-04-30 23:20
firechun
Rank: 1
等 级:新手上路
帖 子:135
专家分:0
注 册:2004-4-13
收藏
得分:0 
坛子里新手多,从基础开始比较好,支持!

本人在编程中国发表的所有文章,除特别说明外均属原创,转载时请注明作者编程中国
2004-05-03 16:46
tvrc200379
Rank: 1
等 级:新手上路
帖 子:351
专家分:0
注 册:2004-3-30
收藏
得分:0 

我是灌水天堂的新版主,请新老用户来报道啊 (欢迎来灌水。。。) 哈哈哈。。。。 http://websx.home./bbs/list.asp?boardid=35
2004-05-04 09:00
pigpigpig
Rank: 1
等 级:新手上路
帖 子:51
专家分:0
注 册:2004-4-18
收藏
得分:0 
用VB6进行数据库编程——ADO
  在VB6中,微软建议数据库编程采用基于OLE DB的ADO模型,ADO模型是一个简单、一
致的应用程序编程接口 (API),使应用程序能够访问和修改众多类型的数据源。OLE DB
 为任何数据源提供了高性能的访问,这些数据源包括关系和非关系数据库、电子邮件和
文件系统、文本和图形、自定义业务对象等等。ADO 在关键的 Internet 方案中使用最
少的网络流量,并且在前端和数据源之间使用最少的层数,所有这些都是为了提供经济
、高性能的接口。当然,根据用途,仍然有使用DAO、RDO的时候,例如:如果采用Acce
ss 97作为桌面数据库,完全可以使用 DAO 模型。不过,还是让我们紧跟潮流、学习AD
O吧。
  1.与数据库相关的术语、对象
  (1)ADO (ActiveX 数据对象)
  这项新的数据访问技术的特性包括:更简单的对象模型;与其它 Microsoft 和非
Microsoft 的技术更好的集成;为本地和远程数据提供的通用接口;可远程访问的和断
开的记录集;用户可访问的数据绑定接口;以及层次结构的记录集。
  (2)数据环境
  是一个创建 ADO 对象的交互式的设计环境。可作为数据源供窗体或报表上的数据识
别对象使用,或者在程序中作为显露在数据环境对象之外的方法和属性进行访问。数据
环境设计器支持 UserConnection,以及拖放、层次结构、分组以及合计等。
  (3)ADO Data 控件
  这是一种新的、OLE DB 识别的数据源控件,其功能与内部的 Data 控件和 Remote
 Data 控件十分相似,通过这种方式允许您用最少的代码来创建数据库应用程序。
  (4)OLE DB 支持
  OLE DB 是一组 COM 接口,它为应用程序访问保存在不同信息源中的数据提供了统
一的访问方法,这些信息源可以是关系型的,也可以是非关系型的。这些接口支持大量
可应用于数据源的 DBMS 功能,使数据源能够共享其数据。ADO 是编程人员访问 OLE D
B 的方法。所有新的数据绑定控件、数据环境、和数据报表设计器都是 OLE DB 识别的

  (5)可视化数据库工具集成(查询设计器和数据库设计器)
  可视地创建和修改数据库结构和查询:创建SQL Server 和 Oracle 数据库表,利用
拖放来创建视图、自动更改列的数据类型。
  (6)数据报表
  允许您利用拖放技术来快速地从任何记录集(包括层次结构的记录集)创建报表。

  (7)数据源
  创建用作数据源、以便绑定其它控件的用户控件和类。
  (8)SQL 编辑器
  允许您向现有的 SQL Server 和 Oracle 数据库添加新的存储过程。也可以使用此
编辑器来编写触发器。
  (9)DataGrid 控件
  一个 DBGrid 的 OLE DB 识别版本,该控件可以快速生成一个应用程序来查看和编
辑记录集。也支持新的 ADO Data 控件。
  (10)DataList 控件、DataCombo 控件
  这些控件是 DBList 和 DBCombo 控件的 OLE DB 版本。它们还支持新的 ADO Data
 控件。
  
  2.ADO对象层次
  理解了上述概念和对象,再让我们来看一看ADO的对象层次 (图3)。组成这个层次的
各个对象被广泛的应用在 IIS/ASP 应用方面。当我们需要对程序进行精雕细刻时,就必
然需要“程序化”的控制它们——也就是要编写代码,记住了解对象层次以及每个对象
的属性、方法是非常必要的。下面是ADO编程模型中重要对象的简单介绍:
  
          图3
  (1)命令(Command)
  通过已建立的连接发出的“命令”可以某种方式来操作数据源。一般情况下,命令
可以在数据源中添加、删除或更新数据,或者在表中以行的格式检索数据。
  (2)参数(Parameter)
  通常,命令需要的变量部分即“参数”可以在命令发布之前进行更改。例如,可重
复发出相同的数据检索命令,但每一次均可更改指定的检索信息。
  (3)记录集(Recordset)
  如果命令是在表中按信息行返回数据的查询(行返回查询),则这些行将会存储在
本地。对象模型将该存储体现为 Recordset 对象。但不存在仅代表单独一个 Recordse
t 行的对象。
  (4)对象模型以 Field 对象体现字段
  (5)错误(Error)
  错误随时可在应用程序中发生,通常是由于无法建立连接、执行命令或对某些状态
(例如,试图使用没有初始化的记录集)的对象进行操作。
  (6)集合
  ADO 提供“集合”,这是一种可方便地包含其他特殊类型对象的对象类型。使用集
合方法可按名称(文本字符串)或序号(整型数)对集合中的对象进行检索。
  (7)事件
  ADO 将“事件”的概念引入编程模型。事件是对将要发生或已经发生的某些操作的
通知。一般情况下,可用事件高效地编写包含几个异步任务的应用程序。
  3.ADO应用举例
  为了在程序中能够使用ADO对象,请选中菜单 [工程]/[部件],随后勾选相应的
部件即可,如 ADO Data Control;如果想在代码中操纵ADO对象,请选择菜单 [工程]
/[应用],然后选中相应的项目即可,如“Microsoft ActiveX Data Objects 2.0 Li
brary”。
  利用VB6自带的Nwind.mdb 数据库,下面简单介绍如何建立一个用于输入雇员信息的
窗体:
  首先为工具箱添加控件 ADO Data Control(ADODC)、ADO DataGrid(DataGird),然
后创建一个新窗体,建立一个 ADODC 的新实例到窗体的上方,设置其关键属性如下:
  Name=“adodc1”
  ConnectString=“Provider=Microsoft.Jet.OLEDB.4.0;DataSource=Nwind.mdb”
  RecordSource=“Employees”
  接下来创建一个DataGrid控件的实例,设置其属性为:
  DataSource=“adodc1”
  随后将光标移动到 DataGrid 的上方,右击鼠标,选择“检索字段”快捷菜单。此
时您敲 F5 试试看,程序已经工作了!
  如何设计一个打印员工清单的报表呢?不象VB5那样提供一个附带的第三方报表控件
,VB6提供了集成的 DataReport,使用 DataReport 设计器设计报表非常方便。其步骤
如下:  (1)选择菜单“工程/添加ActiveX设计器/数据环境”, 屏幕上将出现一个设
计器窗口。右击Connection1 项,更改其属性,令其采用“Microsoft OLE DB Access
Provider”及Nwind.mdb 数据库,然后增加一个新命令“Command”,令其连接值为 Co
nnection1,数据对象的类型为表,而值为“Employees”表。
  (2)选择工程菜单,建立一个DataReport,设置其属性(图4)。
  
              图4
  (3)然后在设计画面上右击鼠标,检索字段,接下来根据需要和美观重新排列各字段
的位置和大小、字体。
  (4)引用报表。为了在运行时打印报表,可以在窗体上添加一个按钮,在其 Click
事件里用代码来控制报表的打印。例如:
  Private Sub btnPrint_Click()
  DataReport1.PrintReport
  End Sub
  当然,上述关于数据库的介绍才刚刚接触了ADO的一点皮毛,如果想成为高手,还请
多多练习

没有做不到的,只有想不到的!
2004-05-06 08:47
kelly7717169
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2004-6-10
收藏
得分:0 
大哥把图帖出来啊~!!
2004-07-02 09:28
沉默的鲨鱼
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2004-8-23
收藏
得分:0 
大哥,这样看好晕呀,有图吗,看看,谢谢啦,我是一个新手呀,刚刚学这个。
2004-08-23 12:10
zzy
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2004-9-10
收藏
得分:0 

有点太基础了!!!

2004-09-10 10:43
快速回复:应网友之托发布:VB数据库基础
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.038065 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved