老尸 发表于 2015-1-16 23:36:03

ASP网站制作之ASP整合的一个SQL语句类

Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。语句我们在写ASP数据库程序的时分,一般城市用到SQL语句,而在增添数据和更新数据的时分,一般会利用一下体例:insertintomessage(incept,sender,title,content,sendtime,flag,issend)values("&incept(i)&","&membername&","&title&","&message&",Now(),0,1)当字段对照多的时分,并且更新的表对照多的时分,修正起来会对照贫苦,并且查找毛病也对照坚苦。利用这个SQL类后能够简化修正,并且查错也对照简单。经由过程类的AddField函数增添字段名和字段值,可轻松的将字段名和字段值拔出SQL语句,然后前往该SQL语句。

  上面让我们看看这个类的代码:

<%
classSQLString
************************************
变量界说
************************************
sTableName----表名
iSQLType----SQL语句范例:0-增添,1-更新,2-删除,3-查询
sWhere----前提
sOrder----排序体例
sSQL----值

PrivatesTableName,iSQLType,sWhere,sOrder,sSQL

************************************
类初始化/停止
************************************

PrivateSubClass_Initialize()
 sTableName=""
 iSQLType=0
 sWhere=""
 sOrder=""
 sSQL=""
EndSub

PrivateSubClass_Terminate()

EndSub

************************************
属性
************************************
‘设置表名的属性

PublicPropertyLetTableName(value)

 sTableName=value

EndProperty

‘设置前提

PublicPropertyLetWhere(value)

 sWhere=value

EndProperty

‘设置排序体例

PublicPropertyLetOrder(value)

 sOrder=value

EndProperty

‘设置查询语句的范例

PublicpropertyLetSQLType(value)

 iSQLType=value
 selectcaseiSQLType
 case0
  sSQL="insertinto#0(#1)values(#2)"
 case1
  sSQL="update#0set#1=#2"
 case2
  sSQL="deletefrom#0"
 case3
  sSQL="select#1from#0"
 endselect
EndProperty

************************************
函数
************************************
增添字段(字段称号,字段值)

PublicSubAddField(sFieldName,sValue)
 selectcaseiSQLType
 case0
  sSQL=replace(sSQL,"#1",sFieldName&",#1")
  sSQL=replace(sSQL,"#2",""&sFieldName&",#2")
 case1
  sSQL=replace(sSQL,"#1",sFieldName)
  sSQL=replace(sSQL,"#2",""&sFieldName&",#1=#2")
 case3
  sSQL=replace(sSQL,"#1",sFieldName&",#1")
 EndSelect
EndSub

 前往SQL语句
PublicFunctionReturnSQL()
 sSQL=replace(sSQL,"#0",sTableName)
 selectcaseiSQLType
 case0
  sSQL=replace(sSQL,",#1","")
  sSQL=replace(sSQL,",#2","")
 case1
  sSQL=replace(sSQL,",#1=#2","")
 case3
  sSQL=replace(sSQL,",#1","")
 endSelect
 ifsWhere<>""then
  sSQL=sSQL&"where"&sWhere
 endif
 ifsOrder<>""then
  sSQL=sSQL&"orderby"&sOrder
 endif
 ReturnSQL=sSQL
EndFunction

清空语句

PublicSubClear()
 sTableName=""
 iSQLType=0
 sWhere=""
 sOrder=""
 sSQL=""

EndSub

endclass

%>


  利用办法:

  例句:insertintomessage(incept,sender,title,content,sendtime,flag,issend)values("&incept(i)&","&membername&","&title&","&message&",Now(),0,1)

seta=newSQLString‘创立类工具
a.TableName="message"‘设置表名为message
a.SQLType=0‘设置查询范例为增添纪录
a.AddField"incept",incept(i)
a.AddField"sender",membername
a.AddField"title",membername
a.AddField"sender",title
a.AddField"content",message
a.AddField"sendtime",sendtime()
a.AddField"flag",0
a.AddField"issend",1
Response.Writea.ReturnSQl
seta=nothing

</p>asp可以轻松地实现对页面内容的动态控制,根据不同的浏览者,显示不同的页面内容。而浏览者一点觉察不出来,就像为他专门制作的页面一样。使用各种各样的组件,asp可以完成无比强大的功能。

小魔女 发表于 2015-1-20 10:16:26

ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:

金色的骷髅 发表于 2015-1-24 11:12:44

学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。

飘灵儿 发表于 2015-1-30 15:52:22

另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)

admin 发表于 2015-2-6 13:54:36

我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。

莫相离 发表于 2015-2-16 08:45:52

不能只是将它停留在纸上谈兵的程度上。

山那边是海 发表于 2015-3-5 02:20:41

另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)

变相怪杰 发表于 2015-3-11 22:26:02

Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write

不帅 发表于 2015-3-19 15:09:26

没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。

仓酷云 发表于 2015-3-28 16:25:17

Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
页: [1]
查看完整版本: ASP网站制作之ASP整合的一个SQL语句类