




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SQL语句在VB数据库编程过程中的应用摘 要:本文列举实例分析数据库编程过程中经常遇到的查询、统计、更新等几个环节中SQL语句的应用。关键字:SQL;多表查询;SQL统计函数;数据的更新Abstact:This text enumerates the example to search application of the query and statistic,renew etc. that some taches met within SQL programme process usually.Key words:SQL; search from many form ; SQL statistical function; renewal of data结构化查询语言SQL是操作数据库的国际标准语言,在现今的大多数数据库软件系统中均得到支持。在开发VB数据管理软件过程中,利用SQL可以使数据的操作大为方便,使VB与数据库的联系更加紧密。1句SQL语句通常可以完成以前由许多条语句才能完成的复杂的数据库查询操作,具有较高的工作效率。1 如何在VB中调用SQL语句首先使用OpenDatabase打开一个数据库,建立Database对象,例如db。如果是SELECT语句,使用db.CreateRecordset(SELECT .)就可以了。如果是其他SQL语句,使用db.Execute(.)来执行。 在VB中,SQL语句往往作为某些特定方法的参数而得以执行(没有FoxPro等数据库软件那样直截了当),比如可以把SQL语句作为Execute方法的1个字符串参数而执行,其格式如下:object.Execute SQL-statement,options 在其中的SQL-statement字符串中,可以使用标准的SQL语句,如:SELECT、INSERT、DELETE及UPDATE等。下面的例子是在数据库对象DB中执行SQL语句,从当前数据库的EMployees数据表中,选择字段LastName=King的所有记录,并将这些记录的LastName和FirstName这2个字段的内容,保存到同一数据库的Backup数据表中:DB.Execute(SELECT LastName,FirstName INTO Backup FORM Employees WHERE LastName=King;) 2 多表查询在数据库的操作中,常常会涉及多表查询。所谓多表查询,是指将两个以上的表中的内容通过相关字段连接在一起。这些查询当然可以通过其它算法,利用VB程序本身来实现。但是如果利用VB中的SQL多表查询语句,可将两个表中的数据通过两个表中的共同字段连接来。则求解过程大为简化,程序效率大为提高。以工资库.mdb的数据库为例,数据库中有一个名为“基本工资表”数据表,该数据表的字段有:职工号、部门编号、职工姓名、基本工资、应发工资、实发工资等。另一个为部门表,该数据表的字段有部门编号、部门名称。由于基本工资表没有部门名称字段在浏览基本工资表时为了查询部门名称可以通过SQL 语句将基本工资表和部门表的数据通过部门编号字段连接起来。21界面设计如下图1所示: 图122实现代码设计 Function brsex() 浏览时如果表中的性别字段值通过单选按钮显示If Data1.Recordset.性别 = 男 Thenopt_man.Value = Trueopt_fem.Value = FalseElseopt_man.Value = Falseopt_fem.Value = TrueEnd IfEnd FunctionFunction brdepart() 根据基本工资表的部门编号查询部门表中的部门名称。 deid = Data1.Recordset.部门编号 ssql = select * from 部门表 where 部门编号= & deid & Data2.RecordSource = ssql Data2.RefreshEnd FunctionPrivate Sub cmd_first_Click()Data1.Recordset.MoveFirstCall brsexCall brdepartEnd SubPrivate Sub cmd_last_Click()Data1.Recordset.MoveLastCall brdepartCall brsexEnd SubPrivate Sub cmd_next_Click()If Data1.Recordset.EOF ThenBeepMsgBox 已到文件尾部!, , 提示Data1.Recordset.MoveLastElseData1.Recordset.MoveNextIf Data1.Recordset.EOF ThenBeepMsgBox 已到文件尾部!, , 提示Data1.Recordset.MoveLastEnd IfCall brsexCall brdepartEnd IfEnd SubPrivate Sub cmd_prev_Click()If Data1.Recordset.BOF ThenBeepMsgBox 已到文件首部!, , 提示Data1.Recordset.MoveFirstElseData1.Recordset.MovePreviousIf Data1.Recordset.BOF ThenBeepMsgBox 已到文件首部!, , 提示Data1.Recordset.MoveFirstEnd IfCall brsexCall brdepartEnd IfEnd Sub3: 在原有数据表的基础上产生新的数据表在已有的数据表的基础上产生新的数据表,利用SelectInto语句就可以了。以工资库.mdb的数据库为例,把其中的实发工资小于2000的记录筛选出来组成一个新表,新表的名称由用户从文本框中输入,新表中我们只要三个字段,它们是:职工号、职工姓名、实发工资。并且可以利用MsFlexGrid控件浏览新生成的表。我们用下列程序就可以实现:(事先在窗体中添加一个文本框Text1和一个命令按钮Command1,一个数据控件data1和一个MsFlexGrid控件)。31 界面设计如下图2所示图232实现代码设计Private Sub Command1_Click()Set db = OpenDatabase(App.Path & & 工资库.mdb)bm = Trim(Text1.Text)SQL = Select 职工号,职工姓名,实发工资 into + bm + From 基本工资表 Where 实发工资2000db.Execute SQLData1.RecordSource = bmData1.RefreshMSFlexGrid1.RefreshEnd Sub4在VB中使用SQL统计函数统计函数主要包括记录个数(COUNT)、最大值(MAX)、最小值(MIN)、平均值(AVG)以及求和(SUM)。在SQL语句中,只要很简单的一句,就可以计算出需要的统计值。在上例中增加4个命令按钮求工资库.mdb中基本工资表中的实发工资的最大值、最小值、平均值和按条件求和。41 界面设计如下图3所示: 图342 实现代码设计Private Sub Command2_Click()SQL = Select MAX(实发工资) AS maxa From 基本工资表 Data1.RecordSource = SQLData1.RefreshMSFlexGrid1.RefreshEnd SubPrivate Sub Command3_Click()SQL = Select Min(实发工资) AS mina From 基本工资表 Data1.RecordSource = SQLData1.RefreshMSFlexGrid1.RefreshEnd SubPrivate Sub Command4_Click()SQL = Select avg(实发工资) AS avga From 基本工资表 Data1.RecordSource = SQLData1.RefreshMSFlexGrid1.RefreshEnd SubPrivate Sub Command5_Click()SQL = Select sum(实发工资) AS suma From 基本工资表 WHERE 实发工资700在上例中增加1个命令按钮对工资库.mdb中基本工资表中的基本工资进行成批修改。51 界面设计如下图4所示: 图452 实现代码如下:Private Sub Command6_Click()Set db = OpenDatabase(App.Path & & 工资库.mdb)ssql = ssql = update 基本工资表 set 基本工资=基本工资+100 Where
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 特种作战战例课件
- 化妆培训学校课程
- 2025年3D打印技术的骨骼修复应用
- 2025行业商业模式创新研究-1
- 农业银行2025达州市秋招结构化面试经典题及参考答案
- 农业银行2025六安市秋招笔试EPI能力测试题专练及答案
- 交通银行2025临汾市秋招英文面试题库及高分回答
- 工商银行2025黄山市秋招半结构化面试题库及参考答案
- 农业银行2025大兴安岭地区秋招笔试EPI能力测试题专练及答案
- 邮储银行2025随州市秋招半结构化面试题库及参考答案
- 新员工入职廉洁从业教育培训
- 中考语文一轮复习:标题的含义与作用(学生版)
- 美术课雕塑课件
- DB31/T 300-2018燃气燃烧器具安全和环保技术要求
- 2025农业银行笔试题库及答案
- 天使口腔矫正协议书
- 2025人教部编版语文四年级上册教学计划(含进度表)
- 模具开发技术协议书
- 冷色暖色美术课件
- 拆除安全合同协议书
- 纪委遴选笔试真题及答案详解
评论
0/150
提交评论