【VB开源代码栏目提醒】:本文主要为网学会员提供“SQL语句在VB数据库编程过程中的应用 - 期刊论文”,希望对需要SQL语句在VB数据库编程过程中的应用 - 期刊论文网友有所帮助,学习一下!
SQL 语句在
VB 数据库编程过程中的应用摘 要:本文列举实例分析数据库编程过程中经常遇到的查询、统计、更新等几个环节中 SQL 语句的应用。
关键字:SQL;多表查询;SQL 统计函数;数据的更新Abstact:This text enumerates the example to search application of the query and statisticrenew etc. thatsome taches met within SQL programme process usually.Key
words:SQL search from many form SQL statistical function renewal of data 结构化查询语言 SQL 是操作数据库的国际标准语言,在现今的大多数数据库软件
系统中均得到支持。
在开发
VB 数据管理
软件过程中,利用 SQL 可以使数据的操作大为方便,使
VB 与数据库的联系更加紧密。
句 SQL 语句通常可以完成以前由许多条语句才能完成的 1复杂的数据库查询操作,具有较高的
工作效率。
1 如何在
VB 中调用 SQL 语句 首先使用 OpenDatabase 打开一个数据库, 建立 Database 对象,例如 db。
如果是 SELECT语句,使用 db.CreateRecordsetSELECT ...就可以了。
如果是其他 SQL 语句,使用db.Execute...来执行。
在
VB 中,SQL 语句往往作为某些特定方法的参数而得以执行没有 FoxPro 等数据库软件那样直截了当,比如可以把 SQL 语句作为 Execute 方法的 1 个字符串参数而执行,其格式如下:object.Execute SQL-statementoptions 在其中的 SQL-statement 字符串中,可以使用标准的 SQL 语句,如:SELECT、INSERT、DELETE 及 UPDATE 等。
下面的例子是在数据库对象 DB 中执行 SQL 语句,从当前数据库的EMployees 数据表中,选择字段 LastNameKing的所有记录,并将这些记录的 LastName和 FirstName 这 2 个字段的内容,保存到同一数据库的 Backup 数据表中:DB.ExecuteSELECT LastNameFirstName INTO Backup FORM EmployeesWHERE LastNameKing2 多表查询 在数据库的操作中,常常会涉及多表
查询。
所谓多表查询,是指将两个以上的表中的内容通过相关字段连接在一起。
这些查询当然可以通过其它算法,利用
VB 程序本身来实现。
但是如果利用
VB 中的 SQL 多表查询语句,可将两个表中的数据通过两个表中的共同字段连接来。
则求解过程大为简化,程序效率大为提高。
以工资库.mdb 的数据库为例,数据库中有一个名为“基本工资表”数据表,该数据表的字段有:职工号、部门编号、职工姓名、基本工资、应发工资、实发工资等。
另一个为部门表,该数据表的字段有部门编号、部门名称。
由于基本工资表没有部门名称字段在浏览基本工资表时为了查询部门名称可以通过 SQL 语句将基本工资表和部门表的数据通过部门编号字段连接起来。
2.1 界面设计 如下图 1 所示: 1 图12.2 实现
代码设计Function brsex ‘浏览时如果表中的性别字段值通过单选按钮显示 If Data1.Recordset.性别 男 Then opt_man.Value True opt_fem.Value False Else opt_man.Value False opt_fem.Value True End IfEnd FunctionFunction brdepart ‘根据基本工资表的部门编号查询部门表中的部门名称。
deid Data1.Recordset.部门编号 ssql select from 部门表 where 部门编号 deid Data2.RecordSource s
sql Data2.RefreshEnd FunctionPrivate Sub cmd_first_Click Data1.Recordset.MoveFirst Call brsex Call brdepartEnd SubPrivate Sub cmd_last_Click Data1.Recordset.MoveLast Call brdepart Call brsex 2End SubPrivate Sub cmd_next_Click If Data1.Recordset.EOF Then Beep MsgBox 已到文件尾部! 提示 Data1.Recordset.MoveLast ElseData1.Recordset.MoveNext If Data1.Recordset.EOF Then Beep MsgBox 已到文件尾部! 提示 Data1.Recordset.MoveLast End If Call brsex Call brdepart End IfEnd SubPrivate Sub cmd_prev_Click If Data1.Recordset.BOF Then Beep MsgBox 已到文件首部! 提示 Data1.Recordset.MoveFirst Else Data1.Recordset.MovePrevious If Data1.Recordset.BOF Then Beep MsgBox 已到文件首部! 提示 Data1.Recordset.MoveFirst End If Call brsex Call brdepart End IfEnd Sub3: 在原有数据表的基础上产生新的数据表 在已有的数据表的基础上产生新的数据表,利用 Select…Into 语句就可以了。
以工资库.mdb 的数据库为例,把其中的实发工资小于 2000 的记录筛选出来组成一个新表,新表的名称由用户从文本框中输入,新表中我们只要三个字段,它们是:职工号、职工姓名、实发工资。
并且可以利用 MsFlexGrid 控件浏览新生成的表。
我们用下列程序就可以实现:事先在窗体中添加一个文本框 Text1 和一个命令按钮 Command1,一个数据控件 data1 和一个MsFlexGrid 控件。
3.1 界面
设计 如下图 2 所示 3 图23.2 实现
代码设计Private Sub Command1_Click Set db OpenDatabaseApp.Path 工资库.mdb bm TrimText1.Text SQL Select 职工号职工姓名实发工资 into bm From 基本工资表 Where 实发工资700 db.Execute ssql Data1.Refresh MSFlexGrid1.Refresh End Sub6 结束语 从前面的介绍可以看出,使用 SQL 语句方便直观、简化
程序。
我们甚至还可以利用 SQL语句在程序过程中动态建立数据库,充分发挥 SQL 语句在
VB 数据库编程中的作用。
参考文献1 刘钢,王永生,Visual Basic 程序设计与应用案例,北京:高等教育出版社,2004 6