`
yesjavame
  • 浏览: 695094 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

一个整合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

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

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

分享到:
评论

相关推荐

    SQL语句辅助工具

    总结来说,"SQL语句辅助工具"是一个实用的开发辅助软件,通过将SQL语句转换为C#代码,简化了数据库操作的过程,提高了开发效率,同时也降低了出错的可能性。对于使用C#和SQL的开发人员来说,这是一款值得拥有的工具...

    SQL SERVER 数据自动生成SQL语句

    4. **生成脚本**:所有INSERT语句会被整合成一个大的SQL脚本,可以一次性执行,将所有数据导入新数据库。 5. **优化与执行**:为了提高效率,可能还需要对生成的脚本进行优化,例如批量插入,减少事务次数,以提高...

    一个完整程序只有一条SQL语句

    标题提到的"一个完整程序只有一条SQL语句",这展示了如何高效地利用SQL语句来完成数据操作。在这个程序中,开发者通过一条复杂的SQL语句,实现了对dataGrid的数据进行增、删、改、查(CRUD)操作。在C#环境下,...

    OA系统常用SQL语句

    虽然没有直接的SQL文件对应,但在实际开发中,可能会使用SQL语句来获取并整合来自不同系统或部门的信息,以生成个性化的工作界面。 6. **我的办公室(远程传阅)**:在这一模块中,SQL语句可能被用于处理个人工作...

    开发sql语句拼接自动格式化工具

    例如,它可能会将一个连续的长SQL语句分割成多行,每一行包含一个逻辑单元,使阅读者能更容易理解其结构。 其次,语法高亮显示是另一个增强代码可读性的关键特性。通过不同的颜色和样式突出显示SQL语句的关键部分,...

    sql语句自动生成器

    4. **排序与分组**:在进行查询时,用户可以设定排序依据(ORDER BY)和分组(GROUP BY)条件,工具会自动将这些信息整合进SQL语句。 5. **聚合函数支持**:如果需要使用SUM、AVG、COUNT等聚合函数,工具也会提供...

    Oracle基本sql语句

    而iSQL*Plus是Oracle提供的一个命令行界面工具,用于执行SQL语句,它在Oracle9i产品中首次引入,并在Oracle10g中得到了增强。尽管iSQL*Plus已经比较老旧,但为了兼容性考虑,其功能在Oracle11g中仍然可用。 接下来...

    excel生成sql语句和实体类代码生成器

    "Excel生成SQL语句和实体类代码生成器"就是一个这样的实用工具,它允许开发者通过Excel表格来快速构建数据库操作所需的SQL语句以及与之对应的Java实体类代码,大大减少了手动编写这些代码的时间。 这个工具的核心...

    SQL语句执行顺序说明

    4. **减少访问数据库的次数**:在一个SQL语句中尽量减少对同一张表的多次访问。例如,可以通过JOIN操作一次性获取所需的所有数据,而不是通过多个独立的查询。 5. **使用DECODE函数来减少处理时间**:使用DECODE...

    sql语句的内联外联 经典面试题

    在面试中,SQL语句的内联外联经典面试题是一个非常重要的考察点。本文将对SQL语句的内联外联进行详细的介绍和分析,并提供了一些经典的面试题和答案,以便读者更好地理解和掌握SQL语句的内联外联。 一、SQL语句的...

    sql语句替换某列所有字段中的某个字符(如替换‘1,2,3,4’中的4)

    - 测试SQL语句:在实际应用前,应该在一个安全的环境中测试SQL语句,确保其按预期工作。 - 数据类型兼容性:确保使用的函数与数据类型兼容,如上例中使用`CAST()`函数进行类型转换。 - 执行效率:如果表中数据量巨大...

    基于Lambda表达式的SQL语句生成器SqlLink V0.1

    这个类可能包含解析Lambda表达式、生成SQL语句片段以及整合这些片段成完整SQL语句的逻辑。开发者可以通过阅读和理解`ExpressionSqlBuilder`的源代码,进一步定制SqlLink的功能,或者将其原理应用到自己的项目中。 ...

    python实现一次性封装多条sql语句(begin end)

    当然还有一种想法,如果有python框架的orm可能会更快,相比来说耗时基本看不到了吧,这只是我的猜想,仅仅为了优化一个模型写一个框架的话 代码可能需要改的比较多,自我感觉付出和收获不一定会成正比,当然以后有...

    SQLSERVER基本语句整合

    例如,`CREATE TABLE Employees (ID INT PRIMARY KEY, Name VARCHAR(50), Salary DECIMAL)`会创建一个新的Employees表,包含ID、Name和Salary三列。"ALTER"语句则用于修改已存在的对象,"DROP"语句用于删除不再需要...

    mybatis+spring 框架中配置日志中显示sql语句

    在MyBatis与Spring整合的框架中,为了便于调试和性能优化,我们常常需要在日志中打印出执行的SQL语句。以下是如何在这样的环境中配置日志来显示SQL语句的详细步骤。 首先,我们需要了解MyBatis的日志实现。MyBatis...

    spring_Framework+经典SQL语句大全+Hibernate中文API

    4. 示例代码或项目:可能包含了一些使用Spring和Hibernate的示例程序,展示如何在实际开发中整合这两个框架,以及如何编写和执行SQL语句。 学习并掌握Spring Framework、经典SQL语句和Hibernate,对于Java开发人员...

    使用Oracle查询并删除重复记录的SQL语句

    例如,假设我们有一个名为people的表,其中包含一个名为peopleId的字段,我们可以使用以下SQL语句来查找表中多余的重复记录: ```sql select * from people where peopleId in (select peopleId from people group ...

    sql语句在sas中的应用

    SAS中的SQL过程(PROC SQL)为用户提供了一个直观且强大的界面来执行SQL语句。它支持标准SQL语法,并具有额外的功能,如动态SQL执行、错误处理机制等,使得SQL在SAS中的应用更加便捷高效。 **2.2 指定列** 在SQL...

    sql完全优化语句汇总

    7. **整合简单查询**:即使查询之间没有直接关联,也可以尝试将多个简单的查询整合到一个SQL语句中。 8. **删除重复记录**:使用ROWID可以高效地删除重复记录,避免全表扫描。 9. **使用TRUNCATE替代DELETE**:...

Global site tag (gtag.js) - Google Analytics