快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

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

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

\\\'清空语句

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

Response.Write a.ReturnSQl
set a=nothing
%>
返回类别: 教程
上一教程: 防止网站内容被人小偷和采集的ASP代码
下一教程: 深入研究“用ASP上载文件”(二)

您可以阅读与"一个改进的ASP生成SQL 命令字符串的类"相关的教程:
· 改进的ASP备份SQL SERVER数据库
· ASP中一个字符串处理类加强版
· ASP中一个字符串处理类
· 改进 ASP 应用程序中的字符串处理性能
· 改进 ASP 的字符串处理性能
    微笑服务 优质保证 索取样品