用类来编写数据库程序

用类来编写数据库程序

ID:34784137

大小:66.68 KB

页数:4页

时间:2019-03-10

用类来编写数据库程序_第1页
用类来编写数据库程序_第2页
用类来编写数据库程序_第3页
用类来编写数据库程序_第4页
资源描述:

《用类来编写数据库程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、范例1: 用类来编写数据库程序类模块使VB编程更为简洁。通过封装技术将复杂的代码同程序的其它部分分隔开,并通过方法和属性同程序的其它部分对话。对于类的种种好处,相信大家都非常清楚了。本文主要介绍类在数据库编程方面的应用。通过类模块的封装,你可以只需要书写一次那些冗长繁人的SQL查询语句,并能方便地同他人分享你的代码。本文向你介绍如何利用类模块创建SQL查询对象。本文用到Northwind数据库。数据访问技术用的是DAO。工程目的本工程的目的是要建立一个查询,该查询将从Northwind数据库中返回Beverage供应商的

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

3、egoryNameAsString'Objectproperty添加一个公用变量,名为strMsg。该变量用来保存对象返回给用户的信息。PublicCompanyNameAsString'ObjectpropertyPublicCategoryNameAsString'ObjectpropertyPublicstrMsgAsString现在为这个类编写RunQuery方法。SubRunQuery()DimstrSQLAsStringDimdbAsDatabaseDimqdfTempAsQueryDefDimrsResul

4、tsAsRecordset'ConstructtheSQLstringstrSQL="SELECTDISTINCTROWSuppliers.CompanyName,"&_"Products.ProductNameFROMSuppliersINNERJOIN"&_"(CategoriesINNERJOINProductsONCategories.CategoryID="&_"Products.CategoryID)"&_"ONSuppliers.SupplierID=Products.SupplierID"&_"WHERE

5、(((Suppliers.CompanyName)='"&CompanyName&"')AND"&_"((Categories.CategoryName)='"&CategoryName&"'))"Setdb=OpenDatabase("C:MSOfficeAccessSamplesNorthwind.mdb")SetqdfTemp=db.CreateQueryDef("")qdfTemp.SQL=strSQLSetrsResults=qdfTemp.OpenRecordset(dbOpenSnapshot)rs

6、Results.MoveFirst'EnumeratetherecordsetWithrsResultsDoWhileNot.EOFDebug.Print.Fields(0);"";.Fields(1)strMsg=strMsg&.Fields(1)&vbCrLf.MoveNextLoopEndWithrsResults.CloseqdfTemp.CloseEndSub现在让我们来简单地分析一下上面的代码。在上面的代码中数据库的路径是用的绝对路径。如果Northwind数据库的路径同你机器上的不同,你需要修改这个路径,以

7、便程序能找到这个数据库。SQL代码是在Access中建立好然后粘贴到程序中来的。这样做不仅免去你书写代码的麻烦,而且还不容易出错。在粘贴完之后,将原来在SQL代码中的"BigfootBreweries"和"Beverages"用公共变量CompanyName和CategoryName替换掉。在定义了QueryDef之后,程序枚举记录集。记录集的信息不仅在立即窗口中显示出来,同时被写入strMsg变量中。在结束对类模块的编码之前,我们还需要对类模块的Terminate事件编写代码。将下面的代码放到该事件中。PrivateS

8、ubClass_Terminate()MsgBoxstrMsg,Title:="BeverageResultsfor"&CompanyName,buttons:=vbExclamationEndSub现在我们已结束了对类模块的编程。接下来在窗体中添加一个命令按钮。将该命令按钮的Caption属性设置为&RunQuer

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。