批量录入在数据库的应用中比较广泛的,关于批量录入的方法也有好多种。 下面我就结合我实际中的应用,谈一下儿我是怎么实现的。 主要用到的是form的集合的概念,通过循环取的所有的集合内数据。 考虑到大家看着方便,我把它集成到了一个页面。 下面是具体的代码:
batchInput.asp <% '##################################### 'File Function:批量录入数据 'Author:Myhon 'Date:2003-8-19 '#####################################
'向数据库写入数据 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 %>
<% END SUB
'指定要批量录入多少条记录 SUB assignHowMuch() %>
<% END SUB
if request.form("action")="下一步>>" then Call InputData() '显示成批录入界面 elseif request.form("action")="提交" then Call writeData() '向数据库批量写入数据 else Call assignHowMuch() '显示指定录入多少条记录的界面 end if %>
|