学生时代 主要用的是asp 和 asp.net 笔记也写了不少,现在回头看看有不少不错的代码。现整理后贴出来。
自用函数库: fun.asp
1 Dim mConn,mRs 2 mConn="Driver={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("BBS.mdb") 3 4 public function OpenRs(mSQL) 5 set OpenRs=server.CreateObject("ADODB.RecordSet") 6 OpenRs.Open mSQL,mConn 7 end function 8 9 public sub GetRs(mSQL) 10 set mRs=OpenRs(mSQL) 11 end sub 12 13 public sub closeRs() 14 mRs.close 15 set mRs=nothing 16 end sub 17 18 public sub ExcuteRs(mSQL) 19 dim mCmd 20 set mCmd=server.CreateObject("ADODB.Command") 21 mCmd.activeconnection=mConn 22 mCmd.commandtext=mSQL 23 mCmd.execute 24 mCmd.activeconnection.close 25 Set mCmd=nothing 26 end sub 27 28 public function FindUser(mWhere) 29 dim tr 30 set tr=OpenRs("select * from " & mWhere) 31 if tr.bof and tr.eof then 32 FindUser=false 33 else 34 FindUser=true 35 end if 36 end function 37 38 public function GetPara(Para) 39 if request.ServerVariables("REQUEST_METHOD")="GET" then 40 GetPara=request.QueryString(Para) 41 else 42 GetPara=request.Form(Para) 43 end if 44 end function
第一步,我们先要定义两个变量mConn和mRs
1 mConn="Driver={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("BBS.mdb")
这里,mConn的作用是连接数据库。而 Driver={Microsoft Access Driver (*.mdb)};DBQ= 这句代码是通过ODBC链接数据库,可以在自定义连接字符串中复制粘贴。而server.MapPath里的BBS.mdb是你数据库的名字。
第一个函数:
1 public function OpenRs(mSQL) 2 set OpenRs=server.CreateObject("ADODB.RecordSet") 3 OpenRs.Open mSQL,mConn 4 end function
因为在后面的函数里会有重复使用到的地方,所以我们把公共部分提出来,写成函数。
第二个函数:
1 public sub GetRs(mSQL) 2 set mRs=OpenRs(mSQL) 3 end sub
作用为读出数据库。所以只要直接让变量mRs=OpenRs就行了。()中的mSQL是参数的意思。你在调用函数时写入的参数电脑会执行。
第三个函数:
1 public sub closeRs() 2 mRs.close 3 set mRs=nothing 4 end sub
此函数的作用是关闭数据库,数据库只开不关,系统会崩溃的。
第四个函数:
1 public sub ExcuteRs(mSQL) 2 dim mCmd 3 set mCmd=server.CreateObject("ADODB.Command") 4 mCmd.activeconnection=mConn 5 mCmd.commandtext=mSQL 6 mCmd.execute 7 mCmd.activeconnection.close 8 Set mCmd=nothing 9 end sub
此函数能读写数据库。包括select(查找)undate(更新)delete(删除)insert(写入)
第五个函数:
1 public function FindUser(mWhere) 2 dim tr 3 set tr=OpenRs("select * from " & mWhere) 4 if tr.bof and tr.eof then 5 FindUser=false 6 else 7 FindUser=true 8 end if 9 end function
在上一篇登录篇中,在后台我们要做一件事。就是判断我们提交的用户名在数据库中是否存在。如果我们用do loop来循环,虽然也会有相同的效果,但效率会降低很多。因此我们写了这个函数 。我们只要判断第一条与最后一条是否同时满足条件。因为从第一条到最后一条都没有的话,那么此用户一定不存在。只要有一条记录有效,那么这个用户是已经存在的。
第六个函数:
1 public function GetPara(Para) 2 if request.ServerVariables("REQUEST_METHOD")="GET" then 3 GetPara=request.QueryString(Para) 4 else 5 GetPara=request.Form(Para) 6 end if 7 end function
这是判断参数获得方式的函数。还在为post应该用form还是querystring而烦恼吗?那么有个好消息,你不用再去背了。
request.ServerVariables("REQUEST_METHOD")是参数传递方式的意思。周三上兴趣小组的人应该明白传递方式是什么。传递参数的方式一共有二个。post对form,get对querystring。所以,我们只要作一个简单的判断就行了。当方式是
get的时候,我们用qurtystring;当方式为post时,我们就用form。
今天就是这么多,大家以后若是发现有在多个网页中重复打到的东西,你完全可以写成公共函数放在fun里。
这是09年的时候老师帮我写的函数库,事实证明这个节约了不少工夫与时间。这个是1.0版本,后来转asp.net了以后数据库连接这块就有更好的方式(有初步mvc的概念),这种代码的化归思想一直在我现在的工作项目中给予我莫大的帮助。