服务器之家

服务器之家 > 正文

一个改进的ASP生成SQL命令字符串类的代码[已测]

时间:2019-07-26 10:45     来源/作者:ASP之家
代码如下:

<% 
class SQLString 
'************************************ 
'变量定义 
'************************************ 
'sTableName ---- 表名 
'iSQLType ----SQL语句类型:0-增加,1-更新,2-删除,3-查询 
'sWhere ---- 条件 
'sOrder ---- 排序方式 
'sSQL ----值 
Private sTableName,iSQLType,sWhere,sOrder,sSQL 
'************************************ 
'类初始化/结束 
'************************************ 
Private Sub Class_Initialize() 
sTableName="" 
iSQLType=0 
sWhere="" 
sOrder="" 
sSQL="" 
End Sub 
Private Sub Class_Terminate() 
End Sub 
'************************************ 
'属性 
'************************************ 
'设置表名的属性 
Public Property Let TableName(value) 
sTableName=value 
End Property 
'设置条件 
Public Property Let Where(value) 
sWhere=value 
End Property 
'设置排序方式 
Public Property Let Order(value) 
sOrder=value 
End Property 
'设置查询语句的类型 
Public property Let SQLType(value) 
iSQLType=value 
select case iSQLType 
case 0 
sSQL="insert into {&*#}0 ({&*#}1) values ({&*#}2)" 
case 1 
sSQL="update {&*#}0 set {&*#}1={&*#}2" 
case 2 
sSQL="delete from {&*#}0 " 
case 3 
sSQL="select {&*#}1 from {&*#}0 " 
end select 
End Property 
'************************************ 
'函数 
'************************************ 
'增加字段(字段名称,字段值) 
Public Sub AddField(sFieldName,sValue) 
select case iSQLType 
case 0 
sSQL=replace(sSQL,"{&*#}1",sFieldName & ",{&*#}1") 
sSQL=replace(sSQL,"{&*#}2","" & sValue & ",{&*#}2") 
case 1 
sSQL=replace(sSQL,"{&*#}1",sFieldName) 
sSQL=replace(sSQL,"{&*#}2","" & sValue & ",{&*#}1={&*#}2") 
case 3 
sSQL=replace(sSQL,"{&*#}1",sFieldName & ",{&*#}1") 
End Select 
End Sub 
'修改的返回字符串值的函数 
'返回SQL语句 
Public Function ReturnSQL() 
sSQL=replace(sSQL,"{&*#}0",sTableName) 
select case iSQLType 
case 0 
sSQL=replace(sSQL,",{&*#}1","") 
sSQL=replace(sSQL,",{&*#}2","") 
case 1 
sSQL=replace(sSQL,",{&*#}1={&*#}2","") 
case 3 
sSQL=replace(sSQL,",{&*#}1","") 
end Select 
if sWhere<>"" and iSQLType<>0 then 
sSQL=sSQL & " where " & sWhere 
end if 
if sOrder<>"" and iSQLType<>0 then 
sSQL=sSQL & " order by " & sOrder 
end if 
ReturnSQL=sSQL 
End Function 
'返回SQL语句 
Public Function ReturnSQL1() 
sSQL=replace(sSQL,"{&*#}0",sTableName) 
select case iSQLType 
case 0 
sSQL=replace(sSQL,",{&*#}1","") 
sSQL=replace(sSQL,",{&*#}2","") 
case 1 
sSQL=replace(sSQL,",{&*#}1={&*#}2","") 
case 3 
sSQL=replace(sSQL,",{&*#}1","") 
end Select 
if sWhere<>"" and iSQLType<>0 then 
sSQL=sSQL & " where " & sWhere 
end if 
if sOrder<>"" and iSQLType<>0 then 
sSQL=sSQL & " order by " & sOrder 
end if 
ReturnSQL=sSQL 
End Function 
'清空语句 
Public Sub Clear() 
sTableName="" 
iSQLType=0 
sWhere="" 
sOrder="" 
sSQL="" 
End Sub 
End class 
%> 
调用例子: 
<% 
set a =new SQLString '创建类对象 
a.TableName=" message " '设置表名为message 
'a.where=" issend =9" 
'a.order=" issend desc" 
a.SQLType=0 '设置查询类型为增加记录 
a.AddField " incept", "'2'" 
a.AddField " sender ", "'%3%' " 
a.AddField " title ", "#"&now&"#" 
a.AddField " sender ", "5 " 
a.AddField " content ", " 6 " 
a.AddField " sendtime ", "7" 
a.AddField " flag", 8 
a.AddField " issend ", 9 
Response.Write a.ReturnSQl 
set a=nothing 
%> 
<% 
set a =new SQLString '创建类对象 
a.TableName=" message " '设置表名为message 
'a.where=" issend =9" 
'a.order=" issend desc" 
a.SQLType=0 '设置查询类型为增加记录 
a.AddField " incept", "'2'" 
a.AddField " sender ", "'%3%' " 
a.AddField " title ", "#"&now&"#" 
a.AddField " sender ", "5 " 
a.AddField " content ", " 6 " 
a.AddField " sendtime ", "7" 
a.AddField " flag", 8 
a.AddField " issend ", 9 
Response.Write a.ReturnSQl 
set a=nothing 
%> 
<% 
set a =new SQLString '创建类对象 
a.TableName=" message " '设置表名为message 
'a.where=" issend =9" 
'a.order=" issend desc" 
a.SQLType=0 '设置查询类型为增加记录 
a.AddField " incept", "'2'" 
a.AddField " sender ", "'%3%' " 
a.AddField " title ", "#"&now&"#" 
a.AddField " sender ", "5 " 
a.AddField " content ", " 6 " 
a.AddField " sendtime ", "7" 
a.AddField " flag", 8 
a.AddField " issend ", 9 
Response.Write a.ReturnSQl 
set a=nothing 
%> 
标签:

相关文章

热门资讯

抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
叠猫猫队长可以退出吗 叠猫猫队长怎么换队伍
叠猫猫队长可以退出吗 叠猫猫队长怎么换队伍 2019-06-05
淘宝合合卡可以送好友吗 淘宝合合卡快速获得方式
淘宝合合卡可以送好友吗 淘宝合合卡快速获得方式 2019-06-13
叠猫猫可以邀请多少人 叠猫猫大挑战一个队最多多少人
叠猫猫可以邀请多少人 叠猫猫大挑战一个队最多多少人 2019-06-05
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
返回顶部