作家
登录

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

作者: 来源:www.28hudong.com 2013-03-30 08:15:08 阅读 我要评论

复制代码 代码如下:<% 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 %>

  推荐阅读

  asp连接mysql数据库详细实现代码

想要asp能连接mysql数据库需要安装MySQL ODBC 3.51 驱动 http://www.jb51.net/softs/19910.html我们先看下面这段代码 复制代码 代码如下: set conn = server.createobject("adodb.connection") Conn.Open "DRIVER=>>>详细阅读


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

地址:http://www.17bianji.com/kaifa2/ASP/31823.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)