一个改进的ASP生成SQL命令字符串类的代码[已测
网络编程 2021-07-05 10:58www.168986.cn编程入门
网上找资料发现的,调试的时候发现有一些问题,改了一下,还有一定的问题,可以做一般使用了。没有考虑数据类型的问题,还有SQL Server 和aess的区别,以后有时间再改进吧,不知道效率怎么样。如果有朋友改进,也麻烦给我发一份
代码如下:
<%
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
%>
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程