我们在写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语句转换为C#代码,简化了数据库操作的过程,提高了开发效率,同时也降低了出错的可能性。对于使用C#和SQL的开发人员来说,这是一款值得拥有的工具...
4. **生成脚本**:所有INSERT语句会被整合成一个大的SQL脚本,可以一次性执行,将所有数据导入新数据库。 5. **优化与执行**:为了提高效率,可能还需要对生成的脚本进行优化,例如批量插入,减少事务次数,以提高...
标题提到的"一个完整程序只有一条SQL语句",这展示了如何高效地利用SQL语句来完成数据操作。在这个程序中,开发者通过一条复杂的SQL语句,实现了对dataGrid的数据进行增、删、改、查(CRUD)操作。在C#环境下,...
虽然没有直接的SQL文件对应,但在实际开发中,可能会使用SQL语句来获取并整合来自不同系统或部门的信息,以生成个性化的工作界面。 6. **我的办公室(远程传阅)**:在这一模块中,SQL语句可能被用于处理个人工作...
例如,它可能会将一个连续的长SQL语句分割成多行,每一行包含一个逻辑单元,使阅读者能更容易理解其结构。 其次,语法高亮显示是另一个增强代码可读性的关键特性。通过不同的颜色和样式突出显示SQL语句的关键部分,...
4. **排序与分组**:在进行查询时,用户可以设定排序依据(ORDER BY)和分组(GROUP BY)条件,工具会自动将这些信息整合进SQL语句。 5. **聚合函数支持**:如果需要使用SUM、AVG、COUNT等聚合函数,工具也会提供...
而iSQL*Plus是Oracle提供的一个命令行界面工具,用于执行SQL语句,它在Oracle9i产品中首次引入,并在Oracle10g中得到了增强。尽管iSQL*Plus已经比较老旧,但为了兼容性考虑,其功能在Oracle11g中仍然可用。 接下来...
"Excel生成SQL语句和实体类代码生成器"就是一个这样的实用工具,它允许开发者通过Excel表格来快速构建数据库操作所需的SQL语句以及与之对应的Java实体类代码,大大减少了手动编写这些代码的时间。 这个工具的核心...
4. **减少访问数据库的次数**:在一个SQL语句中尽量减少对同一张表的多次访问。例如,可以通过JOIN操作一次性获取所需的所有数据,而不是通过多个独立的查询。 5. **使用DECODE函数来减少处理时间**:使用DECODE...
在面试中,SQL语句的内联外联经典面试题是一个非常重要的考察点。本文将对SQL语句的内联外联进行详细的介绍和分析,并提供了一些经典的面试题和答案,以便读者更好地理解和掌握SQL语句的内联外联。 一、SQL语句的...
- 测试SQL语句:在实际应用前,应该在一个安全的环境中测试SQL语句,确保其按预期工作。 - 数据类型兼容性:确保使用的函数与数据类型兼容,如上例中使用`CAST()`函数进行类型转换。 - 执行效率:如果表中数据量巨大...
这个类可能包含解析Lambda表达式、生成SQL语句片段以及整合这些片段成完整SQL语句的逻辑。开发者可以通过阅读和理解`ExpressionSqlBuilder`的源代码,进一步定制SqlLink的功能,或者将其原理应用到自己的项目中。 ...
当然还有一种想法,如果有python框架的orm可能会更快,相比来说耗时基本看不到了吧,这只是我的猜想,仅仅为了优化一个模型写一个框架的话 代码可能需要改的比较多,自我感觉付出和收获不一定会成正比,当然以后有...
例如,`CREATE TABLE Employees (ID INT PRIMARY KEY, Name VARCHAR(50), Salary DECIMAL)`会创建一个新的Employees表,包含ID、Name和Salary三列。"ALTER"语句则用于修改已存在的对象,"DROP"语句用于删除不再需要...
在MyBatis与Spring整合的框架中,为了便于调试和性能优化,我们常常需要在日志中打印出执行的SQL语句。以下是如何在这样的环境中配置日志来显示SQL语句的详细步骤。 首先,我们需要了解MyBatis的日志实现。MyBatis...
4. 示例代码或项目:可能包含了一些使用Spring和Hibernate的示例程序,展示如何在实际开发中整合这两个框架,以及如何编写和执行SQL语句。 学习并掌握Spring Framework、经典SQL语句和Hibernate,对于Java开发人员...
例如,假设我们有一个名为people的表,其中包含一个名为peopleId的字段,我们可以使用以下SQL语句来查找表中多余的重复记录: ```sql select * from people where peopleId in (select peopleId from people group ...
SAS中的SQL过程(PROC SQL)为用户提供了一个直观且强大的界面来执行SQL语句。它支持标准SQL语法,并具有额外的功能,如动态SQL执行、错误处理机制等,使得SQL在SAS中的应用更加便捷高效。 **2.2 指定列** 在SQL...
7. **整合简单查询**:即使查询之间没有直接关联,也可以尝试将多个简单的查询整合到一个SQL语句中。 8. **删除重复记录**:使用ROWID可以高效地删除重复记录,避免全表扫描。 9. **使用TRUNCATE替代DELETE**:...