首页 VB中数据库通用查询程序的设计

VB中数据库通用查询程序的设计

举报
开通vip

VB中数据库通用查询程序的设计 · 数据库及信息管理 ······ 本栏目责任编辑:闻翔军 VB中数据库通用查询程序的设计 张捍 卫 (海军蚌埠士官学校,安徽 蚌埠 233012) 摘要:在分析结构化查询语句的基础上,提出了在 VB中实现通用动态查询程序的原理j}口方法,并给出了具体的程序代码。 关键词 :VB;数据库 ;查询 中图分类号:TP31 1 文献标识码:A 文章编号:1009—3044(2007)05—11204—02 Design of General Database Query Program in VB...

VB中数据库通用查询程序的设计
· 数据库及信息管理 ······ 本栏目责任编辑:闻翔军 VB中数据库通用查询程序的设计 张捍 卫 (海军蚌埠士官学校,安徽 蚌埠 233012) 摘要:在 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 结构化查询语句的基础上,提出了在 VB中实现通用动态查询程序的原理j}口 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 ,并给出了具体的程序代码。 关键词 :VB;数据库 ;查询 中图分类号:TP31 1 文献标识码:A 文章编号:1009—3044(2007)05—11204—02 Design of General Database Query Program in VB ZHANG Han-wei (Bengbu Naval Petry Officer Academy,Bengbu 23301 2,Chma) Abstract:On the basis of an analysis of SQL,this paper presents the principle and method of general database dynamic query in the VB The program code is pmvided as wel1. Key words:VB;Database;Query 1引言 Visual Basic 6.0作为一种简捷 、系统的Windows应用程序开 发工具,具有强大的数据处理能力,被广泛应用于建立各种数据 库管理系统。数据库管理系统的最终 目的在于将经过加工的数据 以某种形式提供给用户。但用户的查询要求是不确定和变化的, 能否提供满足用户查询需求且查询效率高的人机交互接口是衡 量应用程序好坏的重要指标。在软件的生命周期中,由于用户需 求的变化以及产品升级的需要 ,弓l起数据库结构变化,使得原有 的查询语句和查询途径随之变化。通常的查询程序是量身订做 的,不具有通用性 ,在发生这种情况时,必须对原有的程序进行修 改,这将耗费大量的人力 、物力资源,给软件的维护和升级带来较 大的难度。因此,我们有必要在查询程序的设计上加以改进 ,使其 能适应用户不断变化的查询请求和数据库的变化。具有一定的通 ⋯ — — 一 用性。 一 2实现原理 在关系数据库中,对数据库的各种操作是通过结构化查询语 言SQL进行的。查询是由SELECT语句完成的,其最基本和常用 的形式为:SELECT <字段名> FROM < 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 名>WHERE<查询条 件>。其中WHERE子句可以由多个谓词通过“and”(与)和“or” (或)的逻辑关系组合在一起,任何复杂的查询都能由SELECT语 句将它表达出来。在VB中利用 ADO数据连接的 OpenSchema方 法获取数据库的数据表。并将其显示在数据列表框中,查询时,选 择要查询的数据表及要显示的字段名称,设置合适的查询条件 , 最后生成结构化查询语句来实现对数据的查询。 3实现方法 3.1设计界 面 图 1 窗体界面设 计 在 VB的集成开发环境下添加一个窗体.并在窗体上放置 3 个组合框、2个列表桎 、1个文本框 、6个命令按钮、6个标签、1个 Adodcl控件。界面设计如图 1所示,控件属性设置如表 1。 表 1 主要控件属性设置及功能 3.2建立数据连接并初始化相关控件 为了实现数据库的通用查询,需在窗体加载(Load)事件中建 立 ADO数据库连接.并将数据库中的数据表名称添加到 lstTable 列表框。事件代码为: Private Sub Form Load0 Dim rec As Recordset Dim i,x,y As Integer Dim cnn 1 As AD0DB.Connection Dim rstSchema As AD0DB.Recordset Dim strCnn As String Set cnnl:New ADODB.Connection strCnn=”Provider=Microsoft.Jet.OLE DB.4.O;Data Source=数据 库文件名称.mdb;Persist Security Info=False” cnn1.Open strCnn Set mtSchema=cnn1.OpenSchema(adSchemaTables、 Do Until mtSchema.E0F If rstSchema!TABU J PE=”TABLE”Then lstTables.Addltem mtSchema!TABLE NAME 向表 收稿 日期 :2007—01—17 作者简介:张捍卫(1966-),男,安徽桐城人,副教授,研究方向:计算机教学、数据库应用系统的分析和程序开发工作。 12O4 电麓知识与技术 维普资讯 http://www.cqvip.com 本栏目贲任编辑:闻翔军 ·。····数据库及信息管理 · 名列表框添加数据表名 End If rstSchema.M0veNext Loop rstSchema.Close cnn1.Close 为运算符组合框添加运算符代码(略) End Sub 使用时,应将上面“Data Source=数据库文件名称.mdb”中的 “数据库文件名称”替换为实际的 Access数据库所在的路径和文 件名。 3.3选取数据表和字段 运行时,表名列表框(1stTables)中将显示当前数据库中的数 据表名称,从中选择要查找的数据表。当选取一个数据表后,在 lstTables的 Click事件代码中,利用列表框的 Addhem方法将选定 的数据表包含的字段名称添加到字段名列表框(1stShowFields)及 组合框(cboField)中。这样在字段名列表框(1stShowFields)中可以 选择查询结果要显示的字段名 ,若不选取任何字段,查询结果将 显示该表中的所有字段信息。 3.4设置查询条件 一 个查询条件是由三部分组成的:<字段名> <操作符> < 值>。这三个部分可分别从“字段名称”、“运算符”和“值”三个组 合框中选取,当设置好一个条件后,按“加人条件框”命令按钮 ,将 其加入“条件框”中。“值”的形式是根据字段的类型而不同的,对 于数值型的字段,数字直接放在操作符的后面,文本型的字段则 要求表示值的字符用单引号括起来 ,而日期型的字段,在值的两 边要加上符号 #。 实际应用中,有时需要多个条件的组合查询。组合查询可以 是检索点之间相“与”的关系,也可以是相“或”的关系。因此 ,可点 击“与(And)”或“或(0r)”命令按钮,在条件框中加人“And”或‘'Or” 运算符。“加入条件框”及“与(And)”命令按钮部分代码如下。 Private Sub cmdAddTj—Click0 “加人条件框”命令按钮 代码 Dim nFldType As Integer nndType=Adodc 1.Recordset.Fields(bField).Type ⅡLen(txtTJ.Text1>0 Then t)【tTJ.Text=戗tTJ.Text&vbCrLf End If IfnFldType=7 Then 字段类 型为 日期型 txtTJ.Text=txtTJ..Text& bField& ””& cboOperator.Text & ”#”& cboValHe.Text& ”#” ElseIf nFldType=202 Or nFldType=203 Then 字段类 型为文本型、备注型 If cboOperator.Text=”like”Then like运算符 txtTJ.Text=txtTJ.Text&bField& ””&cboOperator.Text& ” %”& cboValHe.Text& ”% ” Else txtTJ.Text=txtTJ.Text& bField& ””& cboOperator.Text & ” ”& cboValue.Text& ” ” End IF 3.5生成 SQL语句 所有条件设置好后,可按“确定”命令按钮获取查询语句。当 然在这过程中,要对条件框中的条件进行一些处理,如去掉每行 后的回车换行符等,然后根据选择的表名、字段名及查询条件生 成 Select语句。部分代码如下: Private Sub cmdOK _ Click0 Dim i As Integer Dim FieldName,TableName,sWhere As As String Dim sTmp,sSQLString As String 生成WHERE后的条件表达式 If Len(txtTJ.Text)>0 Then sWhere=LTrim(txtTJ.Text) Fori=1 To Len(sWhere1 去掉 vbCrLf If Mid(sWhere,i,1)=Chr(13)Then sTrop=sTmp& ”” ElseIf Mid(sWhere,i,1)=Chr(1 o)Then 什么也不做 Else sTmp=sTmp+Mid(sWhere,i,1) EndⅡ Next sWhere=sTmp swhere=RTrim(sWhere1 If Len(sWhere1>0 Then sWhere=”Where”& sWhere End If End If FieldName=Mid(FieldName,1,Len(FieldName)一1) End If For i=0 To lstTables.ListCount一 1 取得表名 If lstTables.Selected(i1 Then TableName=TableName+(1stTables.List(i))&”,” End If Next TableName=Mid(TableName,1,Len(TableName)一1) 去 掉末 尾的”.” 生成 SQL sSQl_String=”Select”&FieldName& ”From ”&Table— Name& sWhere End Sub 这里 sSQLString变量中保存的信息就是查询的 SQL语句,将 它赋给数据控件,即可得到满足条件的记录信息。 4结束语 以上就数据库应用系统中使用频率最高的查询子系统,说明 了一种相对通用的动态查询程序的设计思路 ,具有较好的适应 性,它既适合 Access数据库 ,也适合 SQL Server数据库。在多个查 询系统的应用中,节省了开发时间,降低了维护费用,取得了较好 的效果。在此基础上稍加修改就可设计成一个通用的数据库查询 控件,能够根据查询的结果自动生成显示。 参考文献: 【1】裘旭光,刘晶.数据库系统原理与应用教程【M】.北京:清华大 学出版社,北方交通大学出版社,2003. 【2]胡荣根.Visual Basic 6.0中文版数据库和 Internet编程【M】. 北京:清华大学出版社,2000. 【3】蒋斌 ,欧阳柳波,杨超.Visual Basic 6.0程序设计【M】.北京: 电子工业 出版社 ,2001. 12O5 维普资讯 http://www.cqvip.com
本文档为【VB中数据库通用查询程序的设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_691827
暂无简介~
格式:pdf
大小:117KB
软件:PDF阅读器
页数:2
分类:互联网
上传时间:2012-01-15
浏览量:69