批量录入在数据库的应用中比较广泛的,关于批量录入的方法也有好多种。下面我就结合我实际中的应用,谈一下儿我是怎么实现的。主要用到的是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 
%> 
<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 
%>

点赞(90)

评论列表共有 0 条评论

立即
投稿
返回
顶部