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

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

ASP整合的一个SQL语句类

我们在写ASP数据库程序的时候,通常都会用到SQL语句,而在增加数据和更新数据的时候,通常会使用一下方法:insert into message (incept,sender,title,content,sendtime,flag,issend) values (\\\'"&incept(i)&"\\\',\\\'"&membername&"\\\',\\\'"&title&"\\\',\\\'"&message&"\\\',Now(),0,1) 当字段比较多的时候,而且更新的表比较多的时候,修改起来会比较麻烦,而且查找错误也比较困难。使用这个SQL类后可以简化修改,而且查错也比较轻易。通过类的AddField函数增加字段名和字段值,可轻松的将字段名和字段值插入SQL语句,然后返回该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","\\\'" & sFieldName & "\\\',#2")
 case 1
  sSQL=replace(sSQL,"#1",sFieldName)
  sSQL=replace(sSQL,"#2","\\\'" & sFieldName & "\\\',#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<>"" then
  sSQL=sSQL & " where " & sWhere
 end if
 if sOrder<>"" 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

%>


  使用方式:

  例句:insert into message (incept,sender,title,content,sendtime,flag,issend) values (\\\'"&incept(i)&"\\\',\\\'"&membername&"\\\',\\\'"&title&"\\\',\\\'"&message&"\\\',Now(),0,1)

set a =new SQLString ‘创建类对象
a.TableName=" message " ‘设置表名为message
a.SQLType=0 ‘设置查询类型为增加记录
a.AddField " incept", incept(i)
a.AddField " sender ", membername
a.AddField " title ", membername
a.AddField " sender ", title
a.AddField " content ", message
a.AddField " sendtime ", sendtime()
a.AddField " flag", 0
a.AddField " issend ", 1
Response.Write a.ReturnSQl
set a=nothing
返回类别: 教程
上一教程: 中文的无组件文件上传ASP函数
下一教程: 建立动态下拉式选单(三阶层)

您可以阅读与"ASP整合的一个SQL语句类"相关的教程:
· 在ASP程序中执行SQL语句的安全性问题
· 一个asp函数, 解决SQL Injection漏洞
· 自己写的一个简朴ASP调用存储过程查询
· ASP构造大数据量的分页SQL语句
· 一个改进的ASP生成SQL 命令字符串的类
    微笑服务 优质保证 索取样品