一个改进的ASP生成SQL 命令字符串的类

心想故事成

心想故事成

2016-01-29 18:48

一个改进的ASP生成SQL 命令字符串的类,一个改进的ASP生成SQL 命令字符串的类
 

网上找资料发现的,但是调试的时候发现有一些问题,
改了一下,还有一定的问题,但是可以做一般使用了。
没有考虑数据类型的问题,还有SQL Server 和access的区别,以后有时间再改进吧,不知道效率怎么样。
如果有朋友改进,也麻烦给我发一份。
<%
'生成SQL字符串的类。
'原作:无名氏
'改进:aloxy
'E-mail:szyjJ@hotmail.com
'OICQ:331622229
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

'清空语句

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/asp/)

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 ", " 4 "
a.AddField " sender ", "5 "
a.AddField " content ", " 6 "
a.AddField " sendtime ", "7"
a.AddField " flag", 8
a.AddField " issend ", 9

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/asp/)

Response.Write a.ReturnSQl
set a=nothing
%

 
展开更多 50%)
分享

猜你喜欢

一个改进的ASP生成SQL 命令字符串的类

ASP
一个改进的ASP生成SQL 命令字符串的类

一个asp快速字符串连接类

Web开发
一个asp快速字符串连接类

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

sql中生成查询的模糊匹配字符串

编程语言 网络编程
sql中生成查询的模糊匹配字符串

ASP整合的一个SQL语句类

ASP
ASP整合的一个SQL语句类

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

在一个字符串中查找另一个字符串

Web开发
在一个字符串中查找另一个字符串

一个改进的UBB类

PHP
一个改进的UBB类

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Excel:自动录入学生的基本情况信息表

Excel:自动录入学生的基本情况信息表

XP时代从硬盘启动到DOS的方法

XP时代从硬盘启动到DOS的方法
下拉加载更多内容 ↓