首页 电脑 电脑学堂 查看内容

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

2004-12-20 03:42 731 0

摘要: 作者:老杨  http://blog.csdn.net/aloxy/ 〈%class SQLString'************************************'变量定义'****...
关键词: sSQL replace case iSQLType Property sTableName sOrder Public sWhere 语句

作者:老杨  http://blog.csdn.net/aloxy/ 〈%class SQLString'************************************'变量定义'************************************'sTableName ---- 表名'iSQLType ----SQL语句类型:0-增加,1-更新,2-删除,3-查询'sWhere ---- 条件'sOrder ---- 排序方式'sSQL ----值 Private sTableName,iSQLType,sWhere,sOrder,sSQL '************************************'类初始化/结束'************************************ Private Sub Class_Initialize()sTableName=""iSQLType=0sWhere=""sOrder=""sSQL=""End Sub Private Sub Class_Terminate() End Sub '************************************'属性'************************************'设置表名的属性Public Property Let TableName(value) sTableName=valueEnd Property'设置条件Public Property Let Where(value)sWhere=valueEnd Property'设置排序方式Public Property Let Order(value)sOrder=valueEnd Property'设置查询语句的类型 Public property Let SQLType(value)iSQLType=valueselect case iSQLTypecase 0sSQL="insert into {&*#}0 ({&*#}1) values ({&*#}2)"case 1sSQL="update {&*#}0 set {&*#}1={&*#}2"case 2sSQL="delete from {&*#}0 "case 3sSQL="select {&*#}1 from {&*#}0 " end selectEnd Property '************************************'函数'************************************'增加字段(字段名称,字段值) Public Sub AddField(sFieldName,sValue)select case iSQLTypecase 0sSQL=replace(sSQL,"{&*#}1",sFieldName & ",{&*#}1")sSQL=replace(sSQL,"{&*#}2","" & sValue & ",{&*#}2")case 1sSQL=replace(sSQL,"{&*#}1",sFieldName)sSQL=replace(sSQL,"{&*#}2","" & sValue & ",{&*#}1={&*#}2")case 3sSQL=replace(sSQL,"{&*#}1",sFieldName & ",{&*#}1")End SelectEnd 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 iSQLTypecase 0sSQL=replace(sSQL,",{&*#}1","")sSQL=replace(sSQL,",{&*#}2","")case 1sSQL=replace(sSQL,",{&*#}1={&*#}2","")case 3sSQL=replace(sSQL,",{&*#}1","")end Selectif sWhere<>"" and iSQLType<>0  thensSQL=sSQL & " where " & sWhereend ifif sOrder<>"" and iSQLType<>0  thensSQL=sSQL & " order by " & sOrderend ifReturnSQL=sSQLEnd Function '清空语句 Public Sub Clear()sTableName=""iSQLType=0sWhere=""sOrder=""sSQL=""End SubEnd 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 %>    
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部