asp

位置:IT落伍者 >> asp >> 浏览文章

asp根据表单自动生成sql语句的函数


发布日期:2019年10月06日
 
asp根据表单自动生成sql语句的函数

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

程序代码

<%

========以下所有函数都没有加入容错机制所以一定要保证参数的正确性========

================参数说明================

此Function返回的是插入数据的sql语句

注意使用此Function必须使form里的字段名和数据库里的字段名一致

并且按钮不能为submit要为button通过JavaScript的submit方法提交表单

objForm必须为requestForm

tbName为插入数据的表名

numStr为不需要用单引号引起来的字段字段之间用逗号()分割没有请用代替

=======================================

Function insertStr(objFormtbNamenumStr)

dim tbField()

dim tbfieldVal()

i=

for each objItem in objForm

redim preserve tbField(i)

tbField(i)=objItem

redim preserve tbfieldVal(i)

numPos=instr(numStrobjItem)

if numPos<> then

tbfieldVal(i)=trim(objForm(objItem))

else

tbfieldVal(i)=&trim(objForm(objItem))&

end if

i=i+

next

insertStr=insert into &tbName&(&join(tbField)&) values(&join(tbfieldVal)&)

End Function

===================参数说明=========================

此Function返回的更新数据的sql语句

注意使用此Function必须使form里的字段名和数据库里的字段名一致

并且按钮不能为submit要为button通过Javascript的submit方法提交表单

objForm必须为requestForm

tbName为更新数据的表名

whereField为更新的条件字段有多个请用()分割

whereJoin为更新的条件字段有多个时设置是and还是or

numStr为不需要用单引号引起来的字段字段之间用逗号()分割没有请用代替

===================================================

Function updateStr(objFormtbNamewhereFieldwhereJoinnumStr)

dim setFieldVal()

dim whereStrArr()

i=

t=

for each objItem in objForm

wherePos=instr(whereFieldobjItem)

if wherePos= then

redim preserve setFieldVal(i)

numPos=instr(numStrobjItem)

if numPos<> then

setFieldVal(i)=objItem&=&trim(objForm(objItem))

else

setFieldVal(i)=objItem&=&trim(objForm(objItem))&

end if

i=i+

else

redim preserve whereStrArr(t)

numPos=instr(numStrobjItem)

if numPos<> then

whereStrArr(t)=objItem&=&trim(objForm(objItem))

else

whereStrArr(t)=objItem&=&trim(objForm(objItem))&

end if

t=t+

end if

next

wherePos=instr(whereField)

if wherePos<> then

whereStr= where &join(whereStrArr &whereJoin& )

else

whereStrArray=whereStrArr

whereStr= where &whereStrArray()

end if

updateStr=update &tbName& set &join(setFieldVal)&whereStr

End Function

==============参数说明=================

此Function返回更新数据的sql语句

只是更新条件不是通过form提交过来的比如session等

conditions为更新的条件

numStr为不需要用单引号引起来的字段字段之间用逗号()分割没有请用代替

======================================

Function updateStr(objFormtbNameconditionsnumStr)

dim setFieldVal()

i=

for each objItem in objForm

redim preserve setFieldVal(i)

numPos=instr(numStrobjItem)

if numPos<> then

setFieldVal(i)=objItem&=&trim(replace(objForm(objItem)))

else

setFieldVal(i)=objItem&=&trim(replace(objForm(objItem)))&

end if

i=i+

next

updateStr=update &tbName& set &join(setFieldVal)& where &conditions

End Function

上一篇:ASP学习:远程注册自己的组件

下一篇:ASP详细时间参数