我们在写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
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器