精彩专题推荐:建站之入门课 建站之必修课 建站之关键课 网站价值所在 流量提高专题 css+div 标准 个人网站打造全过程
返回建站学首页
导航:
建站首页 | 网站设计 | 网站开发 | 网站运营 | 网页软件 | 建站指南 | 搜索优化 | 图像处理 | 视频教程 | 书籍教程 | 建站专题
当前位置:首页>网站开发>ASP教程>正文

ASP整合的一个SQL语句类


来源:我要学习网 时间:06-11-12 点击: 点击这里收藏本文
    我们在写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  
 

  把此文章收藏到:          
广而告之
文章搜索
  • Google JZxue.Com

关于我们 | 联系我们 | 友情链接 | 网站地图
Copyright © 2005 - 2006 建站学 All rights reserved.