推荐:ASP中限制表单的多次重复提交在Internet上我们每天都会遇到数不清的表单,也看到其中大部分并没有限制用户多次提交同一个表单。缺乏这种限制有时候会产生某些预料不到的结果,如重复订阅邮件服务或重复投票等。 本文介绍在ASP应用中防止用户在当前会话期间多次提交同一表单的一个简单方
批量录入在数据库的应用中比较广泛的,关于批量录入的方法也有好多种。下面我就结合我实际中的应用,谈一下儿我是怎么实现的。主要用到的是form的集合的概念,通过循环取的所有的集合内数据。考虑到大家看着方便,我把它集成到了一个页面。
下面是具体的代码:
以下为引用的内容:
<% ’向数据库写入数据 SUB writeData() dim recCnt,i dim fieldName1,fieldName2,fieldName3 dim conn dim sqlStr,connStr connStr="Provider=SQLOLEDB.1;Initial Catalog=myDatabase;Data Source=myhon;User Id=sa;PASSWORD=" set conn=Server.CreateObject("ADODB.Connection") conn.open connStr ’建立数据库连接 recCnt=request.form("stu_num").count ’取得共有多少条记录 ’批量录入数据 for i=1 to recCnt fieldName1=trim(request.form("fieldName1")(i)) fieldName2=trim(request.form("fieldName2")(i)) fieldName3=trim(request.form("fieldName3")(i)) sqlStr="insert into myTable(fieldName1,fieldName2,fieldName3) values(’" sqlStr=sqlStr & fieldName1 & "’,’" sqlStr=sqlStr & fieldName2 & "’,’" sqlStr=sqlStr & fieldName3 & "’)" ’response.write sqlStr conn.execute(sqlStr) next END SUB ’显示成批录入的界面 SUB InputData() dim recCnt,i %> <form name="bathInputData" action="" method="post"> <% recCnt=cint(request.form("recCnt")) for i=1 to recCnt %> <input type="text" name="fieldName1"> <input type="text" name="fieldName2"> <input type="text" name="fieldName3"> <% next %> <br> <input type="submit" name="action" value="提交"> </form> <% END SUB ’指定要批量录入多少条记录 SUB assignHowMuch() %> <!------指定要录入多少条记录--------------> <form name="form1" action="" method="post">
您要录入的记录的条数:<input type="text" name="recCnt"> <input type="submit" name="action" value="下一步>>"> </form> <% END SUB if request.form("action")="下一步>>" then Call InputData() ’显示成批录入界面 elseif request.form("action")="提交" then Call writeData() ’向数据库批量写入数据 else Call assignHowMuch() ’显示指定录入多少条记录的界面 end if %>
|
分享:ASP多重查询的解决方案我们经常会遇到多重查询问题,而长长的SQL语句往往让人丈二和尚摸不着头脑。特别是客户端部分填入查询条件时,如用普通方法将更是难上加难。 以下巧妙地利用where 1=1的恒等式(事实上很多,让它值为TRUE即可)解决此问题。 正文概要 'subject 信息标题 'com