首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
ASP | ASP.NET | JSP | PHP | AJAX | XML | Java script | HTML/CSS | 服务器类
各大城市软件开发培训、软件人才免费咨询热线:400-700-5807
 您现在的位置: 中国IT实验室 >> WEB开发 >> asp学习教程 >> 正文
asp根据表单自动生成sql语句的函数
天新网  2008-8-2  保存本文  佚名  收藏本站

    每次在操作数据库的时候最烦的就是根据表单提交的内容写sql语句,特别是字段比较多的时候很麻烦,动不动就容易写错。所以我就写了下面的生成sql语句的函数,用了用觉得还可以。

程序代码:

<%
'========以下所有函数都没有加入容错机制,所以一定要保证参数的正确性========
'================参数说明================
'此Function返回的是插入数据的sql语句
'注意:使用此Function必须使form里的字段名和数据库里的字段名一致
'并且按钮不能为submit,要为button,通过JavaScript的submit方法提交表单
'objForm必须为request.Form
'tbName为插入数据的表名
'numStr为不需要用单引号引起来的字段,字段之间用逗号(,)分割,没有请用""代替
'=======================================
Function insertStr(objForm,tbName,numStr)
dim tbField()
dim tbfieldVal()
i=0
for each objItem in objForm
redim preserve tbField(i)
tbField(i)=objItem
redim preserve tbfieldVal(i)
numPos=instr(numStr,objItem)
if numPos<>0 then
tbfieldVal(i)=trim(objForm(objItem))
else
tbfieldVal(i)="'"&trim(objForm(objItem))&"'"
end if
i=i+1
next
insertStr="insert into "&tbName&"("&join(tbField,",")&") values("&join(tbfieldVal,",")&")"
End Function

'===================参数说明=========================
'此Function返回的更新数据的sql语句
'注意:使用此Function必须使form里的字段名和数据库里的字段名一致
'并且按钮不能为submit,要为button,通过Javascript的submit方法提交表单
'objForm必须为request.Form
'tbName为更新数据的表名
'whereField为更新的条件字段,有多个请用(,)分割
'whereJoin为更新的条件字段有多个时设置是and还是or
'numStr为不需要用单引号引起来的字段,字段之间用逗号(,)分割,没有请用""代替
'===================================================
Function updateStr(objForm,tbName,whereField,whereJoin,numStr)
    dim setFieldVal()
    dim whereStrArr()
    i=0
    t=0
    for each objItem in objForm
        wherePos=instr(whereField,objItem)
        if wherePos=0 then
            redim preserve setFieldVal(i)
            numPos=instr(numStr,objItem)
            if numPos<>0 then
                setFieldVal(i)=objItem&"="&trim(objForm(objItem))
            else
                setFieldVal(i)=objItem&"='"&trim(objForm(objItem))&"'"
            end if
            i=i+1
        else
            redim preserve whereStrArr(t)
            numPos2=instr(numStr,objItem)
            if numPos2<>0 then
                whereStrArr(t)=objItem&"="&trim(objForm(objItem))
            else
                whereStrArr(t)=objItem&"='"&trim(objForm(objItem))&"'"
            end if
            t=t+1
        end if
    next
    wherePos2=instr(whereField,",")
    if wherePos2<>0 then
    whereStr=" where "&join(whereStrArr," "&whereJoin&" ")
    else
    whereStrArray=whereStrArr
    whereStr=" where "&whereStrArray(0)
    end if
    updateStr="update "&tbName&" set "&join(setFieldVal,",")&whereStr
End Function
'==============参数说明=================
'此Function返回更新数据的sql语句
'只是更新条件不是通过form提交过来的比如session等
'conditions为更新的条件
'numStr为不需要用单引号引起来的字段,字段之间用逗号(,)分割,没有请用""代替
'======================================
Function updateStr2(objForm,tbName,conditions,numStr)
    dim setFieldVal()
    i=0
    for each objItem in objForm
        redim preserve setFieldVal(i)
        numPos=instr(numStr,objItem)
        if numPos<>0 then
            setFieldVal(i)=objItem&"="&trim(replace(objForm(objItem),"'",""))
        else
            setFieldVal(i)=objItem&"='"&trim(replace(objForm(objItem),"'",""))&"'"
        end if
        i=i+1
    next
    updateStr2="update "&tbName&" set "&join(setFieldVal,",")&" where "&conditions
End Function

中国IT教育热线咨询
相关文章
asp实现rar压缩和解压缩源代码
如何用ASP读取Excel文件
ASP调用存储过程源码示例
ASP通用数据库操作类源代码
ASP求平均分源码示例
最新文章
·Photoshop轻松打造美味芒果
·C# 自动实现属性的意想不到行为
·php5异常处理详解
·vml绘图功能示例
·仿Lightbox提示框让窗口自动居中
 文章评论

 精彩友情推荐
·Asp源码 PHP源码
·CGI源码 JSP源码
·建站书籍教程
·服务器软件 .net源码
·建站工具软件
·IDC资讯大全
·机房品质万里行
·IDC托管必备知识
·全国IDC报价
·网站推广优化
ASP.NET ASP PHP JSP
·比较IIS5、IIS6、IIS7的ASP.net请求处理过程08-06
·.net开发中的支持树型的GridView控件08-05
·asp.net2.0 动态生成静态页并分页实例08-05
·为GridView的行添加鼠标经过、点击的事件。08-05
·你必须学习的10项.NET技术.08-05
·如何使dbgrid中不同的值显示不同颜色08-03
·extjs ComboBox联动下拉菜单示例08-01
·漫谈.Net开发关于命名空间和目录划分07-31
·在Silverlight应用程序中操作Cookie07-28
·带附加条件的NewID()用法(downmoon)07-28
·对自定义路由进行单元测试07-28
·php利用htaccess实现防盗链08-05
·asp实现rar压缩和解压缩源代码08-05
·asp.net的XML通用操作类08-05
·如何用ASP读取Excel文件08-05
·ASP调用存储过程源码示例08-05
·ASP通用数据库操作类源代码08-05
·ASP求平均分源码示例08-05
·ASP如何查询ACCESS数据库中上一周的所有记录08-05
·php设计模式介绍之迭代器模式08-02
·简单学习php遇到的主要问题08-02
·asp根据表单自动生成sql语句的函数08-02
·Linux系统下让PHP提高性能的工具APC05-06
·一个完整、安全的PHP用户登录系统11-14
·Apache+PHP+MySQL建立数据库驱动的动态网站08-24
·用SSH与PHP相连接 确保数据传输的安全性08-23
·PHP5手动最简安装方法08-03
·PHP程序加速探索之服务器负载测试07-11
·完全讲解PHP+MySQL的分页显示示例分析05-30
·用Suhosin加强PHP脚本语言安全性05-26
·初学入门 PHP 和 MySQL05-17
·传奇的诞生 PHP三位创始人简介05-10
·大型系统上PHP令人不爽的九大原因05-10
·ASP.NET和PHP、JSP究竟学哪个?07-30
·JAVA (Jsp)利用Google的Translate开发API07-29
·由Servlet获得FacesContext及ManagedBeans07-24
·用JOTM向Servlet中添加事务07-18
·用servlet生成验证码07-16
·JSP/Servlet伪静态网页实现07-08
·JSP和Servlet的关系浅谈06-15
·妙用异步Servlet扩展AJAX应用程序06-11
·servlet生成验证码图片06-02
·java.servlet.Filter的应用05-30
·Java程序员必看--扩展鼠标右键菜单功能05-13
  培训中心
人才交流中心 技术交流中心
  ITLab技术交流平台: