对于ASP的使用者来说,在数据库操作上越简单,就有更多的时间去考虑逻辑上和应用上的代码,效率也会更高。今天俺在这里给大家提供一种数据库操作的思路,这些代码是俺在长期的ASP应用中不断完成和修正的,也已经用它完成了很多项目了,应该说直接拿去用是没有问题的。当然本人能力也有限,希望大家一起来讨论。--电脑教程技术学习网http://loveqiutian.cn
说明:此帖代码均是VBScript版本。另外最好你对手写ASP已经有一定的基础。
先简单介绍一下俺这个类的一些特点:
可同时操作多个不同类型的数据库。 --电脑教程技术学习网http://loveqiutian.cn
完全不用考虑数据类型的差别,再也不用想字符型字段加不加单引号。
调用非常简单,对数据库的主要操作一般只需要一行代码。
支持mssql事务回滚。
可自动生成和输出sql语句方便调试。
使用方法:
1. 修改clsDbctrl.asp文件中的第1行为你自己的数据库位置(修改方法参考下面的CreatConn函数说明)。如需连接多个数据库可自行添加,格式相同。
2. 在你新建的asp文件中包含此asp文件。如:
<!--#include file="Inc/clsDbctrl.asp" --> 或者:
<!--#include virtual="/Inc/clsDbctrl.asp"--> --电脑教程技术学习网http://loveqiutian.cn
3.使用如下代码应用此类:
一个数据库连接:
| 以下是代码片段: <% OpenConn() '打开数据库连接 Dim db : Set db = New DbCtrl '建立对象 'Your Code Here...... Co(db) : CloseConn() '释放对象,关闭数据库连接 %> |
或者(一个或者多个数据库连接):
| 以下是代码片段: <% Dim db1 : Set db1 = New DbCtrl : db1.dbConn = Oc(a) Dim db2 : Set db2 = New DbCtrl : db2.dbConn = Oc(b) 'Your Code Here...... Co(db1) : Co(db2) %> |
4.具体操作的例子可以参考各函数说明内的代码示例。 --电脑教程技术学习网http://loveqiutian.cn
方法和属性概览(详细用法及例子在下面):
| 以下是代码片段: CreatConn 生成数据库连接字符串
dbCtrl.GetRecordDetail 方法,根据某一条指定纪录的详细数据 |
参数约定:
由于ASP没有Arguments对象,不能使用动态参数,所以,在本类的代码中,使用了Array(数组)来达到这一效果。本类中的部分参数可以使用数组(参数说明中有注明),但使用数组时应参照以下格式:
Array("Field1:Value1", "Field2:True", "Field3:100")
对,有点像json的格式,如果涉及到变量,那就这样: --电脑教程技术学习网http://loveqiutian.cn
Array("Field1:" & Value1, "Field2:" & Value2, "Field3:" & Value3)
可以这样说,本类中的几乎所有与数据库字段相关的内容都可以用以上的数组格式来设置条件或者是获取内容。而这里最大的特点就是在使用时不用去考虑字段的类型,在字段后跟一个冒号,接着跟上相应的值就行了。如果你经常手写ASP程序的话,你很快就会感受到运用这种方式的魅力,除了数据类型不用考虑之外,它也很方便随时添加和删除条件。如果你还不明白怎么用的话没关系,下面有很多例子可以说明这个问题。 --电脑教程技术学习网http://loveqiutian.cn
要把ASP的数据库操作封装起来其实并不难,相信大家以前自己也做过类似的代码或是借用过其他人的封装好的代码。但是就如各位知道的一样,使用封装后的代码一旦出错,排错是一个比较麻烦的事情,一般说来,封装后操作越简单的排错也越复杂。俺在写这些代码的时候已经尽我所能考虑到如果出错的话如何去排查错误,在尽可能简化用户操作数据库的代码的同时可以随时输出sql语句排查错误。 --电脑教程技术学习网http://loveqiutian.cn
最后需要说明一点,本文所涉及的ASP数据库操作并不适合大型数据,如你所知,操作大型数据最好还是使用存储过程之类的东东比较好,以后俺会考虑把对存储过程的操作也封装进去。还有一个效率问题,要追求高效率的话,用ASP还是应该考虑COM+等,所以再次声明,本类适用的对象是中小型ASP项目。
好了,下面奉上详细使用说明: --电脑教程技术学习网http://loveqiutian.cn
一.数据库连接 --电脑教程技术学习网http://loveqiutian.cn
考虑到大多数人的使用习惯,在数据库连接上使用了公共过程,所以需要大家在代码里自行修改,如果你已经建立了数据库连接,把这几行注释掉就行了。代码中内置了MSSql,Access,MySQL,Oracle4种数据库的连接方式,当然你也可以自行在源代码中增加或删除。修改例如:
