Asp数据操作类及常用方法,让你的开发事半功倍

crazyType 2010-06-24 01:26:56
最近才完成的一套模型版的asp数据操作组件(估且叫这么叫他)
费话不多说,组件主要包括3个文件DbHelper.asp,Model.asp,Function.asp
DbHelper.asp:执行添加修改及查询等操作的类,接受变量model
Model.asp:一个数据表的公用模型,用于传输
Function.asp:一个方法集合的文件
由于字数有限,这里就只看Model类的代码:

<%
'代码编写:Never
'QQ:286895485
'更新时间:2010-6-30
'功能:公用数据表模型
Class Model
'私有变量
private TableName_ '表名
private Feilds_ '字段列表
private Where_ '条件
private OrderBy_ '排序
private Cols_ '可带值的字段
Private PageString_ '分页连接参数
'公用变量
Public PageSize '页大小
Public CurrentPage '当前页
Public TopNum '指定条数的数据
Public IDs 'ID列表
Public AllNumber '记录总数
Public AllPages '总页数
Public PageBar '分页其它参数
Private Sub Class_Initialize
Set Cols_=Server.CreateObject("scripting.dictionary")
'默认属性
Feilds_="*"
Where_=""
OrderBy_="id desc"
PageString_="CurrengPage"
PageSize=20
CurrentPage=Request.QueryString(PageString_)
End Sub
'获取或设置表名
Public property let TableName(value)
TableName_=value
End property
Public property get TableName()
TableName=TableName_
End property
'获取或设置字段列表
Public property let Feilds(value)
Feilds_=value
End property
Public property get Feilds()
Feilds=Feilds_
End property
'获取或设置条件
Public property let Where(value)
Where_=value
End property
Public property get Where()
Where=Where_
End property
'获取或者设置排序
Public property let OrderBy(value)
OrderBy_=value
End property
Public property get OrderBy()
OrderBy=OrderBy_
End property
'获取或设置分页参数
Public property let PageString(value)
PageString_=value
CurrentPage=Request.QueryString(PageString_)
End property
Public property get PageString()
PageString=PageString_
End property
'获取字段键值对列表
Public Property get Cols()
Set Cols=Cols_
End property
'添加列数据
'cValue:传入字符串则直接自动加"'"
'Ex:M.ColsAdd "UserType",1;M.ColsAdd "UserName","zhang"
Function Add(cName,cValue)
IF TypeName(cValue)<>"Integer" And TypeName(cValue)<>"Double" Then
cValue="'"&cValue&"'"
End IF
Cols_.add cName,cValue
End Function
'清除指定的字段
Function Remove(key)
Cols_.Remove(key)
End Function
'清除所有字段
Function RemoveAll()
Cols_.RemoveAll()
End Function
'释放对像
Private Sub class_terminate()
set Cols_=Nothing
End Sub
End Class
%>

使用方式:
Dim obj,m,rs
m.TableName="tb_user"
列表:
m.pagesize=2
set rs=obj.GetPageRs(m)
这样很简单的得到了rs
添加:
m.Add "UserName",GetForm("UserName")
m.Add "UserPwd",GetForm("UserPwd")
m.Add "UserQQ",GetForm("UserQQ")
IF obj.Insert(m) Then
m.Cols.removeall
Call NewUrl(0,"成功!","List.asp")
Else
m.Cols.removeall
End IF
修改同理。
完整组件及Demo:http://download.csdn.net/source/2482668
...全文
244 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
chengjinhui01 2010-06-30
  • 打赏
  • 举报
回复
LZ管理员修改管理员密码修改不了.您给看看怎么回事....ASP+access....等!ing
crazyType 2010-06-30
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 xzy21com 的回复:]
如果小项目里就没必要,我想你那里if来if去至少也有几千行代码吧
而一般小网站就几个数据库操作地方.每个地方就十几行代码搞定.感觉火车发动机装在单车上...
[/Quote]

这个是不存在,因为你使用的一个页面也就使用某一个方法,不存在N多IF的可能!当然效率应该是要低一点,但提高 了开发效率!
crazyType 2010-06-30
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 yangtututu 的回复:]
想法 不错, 但ASP 调试 比较麻烦,出了问题 找起来 不知道会不会很繁琐
[/Quote]
这个以前是有调试功能的,后面取消了,如果是调试,可以在你使用的方法,比如:insert这个方法执行slq语句之前输出语句看下。。
crazyType 2010-06-30
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 yangtututu 的回复:]
NEVER_V0.2.1\DEMO\../Function.asp,行 321

Next unction
^
[/Quote]
上次传的东西被误删了点东西Next unction这里很明显,谢谢提醒,已重发!
HowgoO 2010-06-30
  • 打赏
  • 举报
回复
更新时间:2010-6-30,是今天也。
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 yangtututu 的回复:]
想法 不错, 但ASP 调试 比较麻烦,出了问题 找起来 不知道会不会很繁琐
[/Quote]

以前看过一个ASP的数据库操作类。每个主要的方法都有一个副方法,专用DEBUG调试,输出构造好要执行的SQL。

建议楼主这样做做,而且有更好的方式,就是给原来的方法增加一个可选参数DEBUG,如果加了这个参数并且为TRUE,则只输出SQL。
Crazywa 2010-06-26
  • 打赏
  • 举报
回复
未见高手评价!
flesu 2010-06-26
  • 打赏
  • 举报
回复
未见高手评价!
yangtututu 2010-06-26
  • 打赏
  • 举报
回复
NEVER_V0.2.1\DEMO\../Function.asp,行 321

Next unction
^
yangtututu 2010-06-26
  • 打赏
  • 举报
回复
想法 不错, 但ASP 调试 比较麻烦,出了问题 找起来 不知道会不会很繁琐
yangtututu 2010-06-26
  • 打赏
  • 举报
回复
对象ASP,不错
EdwardLong 2010-06-26
  • 打赏
  • 举报
回复
不错 不错,骨骨!!!
jzooo 2010-06-26
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 xzy21com 的回复:]

如果小项目里就没必要,我想你那里if来if去至少也有几千行代码吧
而一般小网站就几个数据库操作地方.每个地方就十几行代码搞定.感觉火车发动机装在单车上...
[/Quote]
呵呵,什么东西都有它的适用性,不能一味的拿来
jzooo 2010-06-26
  • 打赏
  • 举报
回复
很不错,mark
scscms太阳光 2010-06-26
  • 打赏
  • 举报
回复
如果小项目里就没必要,我想你那里if来if去至少也有几千行代码吧
而一般小网站就几个数据库操作地方.每个地方就十几行代码搞定.感觉火车发动机装在单车上...
By_Never 2010-06-25
  • 打赏
  • 举报
回复
用了LZ的方法,感觉很不错,特别是前台页面,节省了很多代码!谢谢了!
helloword222 2010-06-24
  • 打赏
  • 举报
回复
好好学学,时时向上
boboo2001040392 2010-06-24
  • 打赏
  • 举报
回复
支持楼主的思想
cykinnn 2010-06-24
  • 打赏
  • 举报
回复
看不太明白怎么回事,留个印慢慢研究。
cjfriends 2010-06-24
  • 打赏
  • 举报
回复
不错,向楼主学习
加载更多回复(9)

28,404

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧