电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 网页制作-> FrontPages教程
用类来编写数据库程序_visualbasic教程
作者:网友供稿 点击:0
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
类模块使VB编程更为简洁。通过封装技术将复杂的代码同程序的其它部分分隔开,并通过方法和属性同程序的其它部分对话。对于类的种种好处,相信大家都非常清楚了。本文主要介绍类在数据库编程方面的应用。

通过类模块的封装,你可以只需要书写一次那些冗长繁人的SQL查询语句,并能方便地同他人分享你的代码。本文向你介绍如何利用类模块创建SQL查询对象。本文用到Northwind数据库。数据访问技术用的是DAO。

工程目的
本工程的目的是要建立一个查询,该查询将从Northwind数据库中返回Beverage供应商的信息。这些信息包括哪种饮料是由哪些供应商供应的。看上去很简单,但你得对三个表进行操作,这三个表分别是Suppliers,Categories和Products,因此你需要写一串很长的SQL查询语句,所以你只希望写一次就够了。
设计类模块
首先确认你已添加了对MicrosoftDAO3.5ObjectLibrary的引用。接下来在工程中添加一个类模块。将该类模块重命名为ClsSQL。让我们先为这个类创建两个新的公共属性,代码如下:

PublicCompanyNameAsStringObjectproperty
PublicCategoryNameAsStringObjectproperty

添加一个公用变量,名为strMsg。该变量用来保存对象返回给用户的信息。
PublicCompanyNameAsStringObjectproperty
PublicCategoryNameAsStringObjectproperty

PublicstrMsgAsString

现在为这个类编写RunQuery方法。
SubRunQuery()

DimstrSQLAsString
DimdbAsDatabase
DimqdfTempAsQueryDef
DimrsResultsAsRecordset

ConstructtheSQLstring
strSQL="SELECTDISTINCTROWSuppliers.CompanyName,"&"Products.ProductNameFROMSuppliersINNERJOIN"&"(CategoriesINNERJOINProductsONCategories.CategoryID="&"Products.CategoryID)"&"ONSuppliers.SupplierID=Products.SupplierID"&"WHERE(((Suppliers.CompanyName)="&CompanyName&")AND"&"((Categories.CategoryName)="&CategoryName&"))"

Setdb=OpenDatabase("C:\MSOffice\Access\Samples\Northwind.mdb")

SetqdfTemp=db.CreateQueryDef("")
qdfTemp.SQL=strSQL

SetrsResults=qdfTemp.OpenRecordset(dbOpenSnapshot)
rsResults.MoveFirst

Enumeratetherecordset
WithrsResults
DoWhileNot.EOF
Debug.Print.Fields(0);"";.Fields(1)
strMsg=strMsg&.Fields(1)&vbCrLf
.MoveNext
Loop
EndWith

rsResults.Close
qdfTemp.Close

EndSub

现在让我们来简单地分析一下上面的代码。在上面的代码中数据库的路径是用的绝对路径。如果Northwind数据库的路径同你机器上的不同,你需要修改这个路径,以便程序能找到这个数据库。
SQL代码是在Access中建立好然后粘贴到程序中来的。这样做不仅免去你书写代码的麻烦,而且还不容易出错。在粘贴完之后,将原来在SQL代码中的"BigfootBreweries"和"Beverages"用公共变量CompanyName和CategoryName替换掉。

在定义了QueryDef之后,程序枚举记录集。记录集的信息不仅在立即窗口中显示出来,同时被写入strMsg变量中。

在结束对类模块的编码之前,我们还需要对类模块的Terminate事件编写代码。将下面的代码放到该事件中。

PrivateSubClass_Terminate()

MsgBoxstrMsg,Title:="BeverageResultsfor"&CompanyName,buttons:=vbExclamation

EndSub


现在我们已结束了对类模块的编程。接下来在窗体中添加一个命令按钮。将该命令按钮的Caption属性设置为&RunQuery。将下面的代码放在命令按钮的鼠标单击事件中。
PrivateSubCommand1_Click()

DimobjSQLAsClsSQL

Settheobjectvariable
SetobjSQL=NewClsSQL

Setpropertiesofthenewobject
WithobjSQL
.CompanyName="BigfootBreweries"
.CategoryName="Beverages"
EndWith

Retrievetheproperties
Debug.PrintobjSQL.CompanyName
Debug.PrintobjSQL.CategoryName

Callamethodoftheobject
objSQL.RunQuery

Destroytheobject
SetobjSQL=Nothing

EndSub


在上面的语句中,我们首先定义了一个对象变量,接下来将这个对象变量初始化为我们刚建立的类的一个实例。我们也可以用下面这一条语句来实现。
DimobjSQLAsNewClsSQL

紧接着我们设置该对象的属性。CompanyName="BigfootBreweries"和CategoryName="Beverages",将这两个值在立即窗口中显示出来。这样做仅仅为了验证而已。然后调用对象的RunQuery方法。
objSQL.RunQuery

最后释放该对象,触发对象的Terminate事件,弹出消息框,显示查询结果。
MsgBoxstrMsg,Title:="BeverageResultsfor"&CompanyName,buttons:=
vbExclamation

结论
现在你已对用类模块进行数据库编程的好处有了初步的认识。当然你也可以用标准模块来实现同样的功能。但是用标准模块远不如用类模块简洁。用类模块,你可以为每个查询初始化一个新的对象,而复杂的SQL代码则被封装在类中。用标准模块,你必须将控制权交给模块。最后,类模块更易于移植。->


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·frontpage2002高效使用的技巧_frontpages教程
·用vb编写windowscgi应用程序_visualbasic教程
·frontpage2000值得学习的10个操作技巧(下)_frontpages教程
·轻松制作自己的信息反馈web页_frontpages教程
·用frontpage 2000做样式表_frontpages教程
·网上电影发布步步进_frontpages教程
·frontpage2000实务高级网站管理_frontpages教程
·精彩新思路:frontpage xp玩特效_frontpages教程
·认识frontpage 2002扩充插件之七_frontpages教程
·获得、设置鼠标双击间隔_visualbasic教程

最新文章
·用frontpage手把手教你制作网上电影的发布_frontpages教程
·在xp中如何使用windows vista屏保_windows xp
·vb.net实现窗体图标最小化到状态栏_vb/vb.net教程
·用photoshop消除照片中的杂色条纹_photoshop教程
·photoshop照片处理:纠正倾斜照片_photoshop教程
·photoshop实例提高:魔幻特效制作实录_photoshop教程
·windows xp系统还原点丢失怎么办?_windows xp
·photoshop打造融化的巧克力字_photoshop教程
·用frontpage 2003发布您的网站_frontpages教程
·用frontpage2003轻松制作asp动态网页_frontpages教程


 
 


版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号