asp实现批量录入数据的实现

批量录入在数据库的应用中比较广泛的,关于批量录入的方法也有好多种。
下面我就结合我实际中的应用,谈一下儿我是怎么实现的。
主要用到的是form的集合的概念,通过循环取的所有的集合内数据。
考虑到大家看着方便,我把它集成到了一个页面。
下面是具体的代码:

batchInput.asp

 1   
 2'#####################################   
 3'File Function:批量录入数据   
 4'Author:Myhon   
 5'Date:2003-8-19   
 6'##################################### 
 7
 8'向数据库写入数据   
 9SUB writeData()   
10dim recCnt,i   
11dim fieldName1,fieldName2,fieldName3   
12dim conn   
13dim sqlStr,connStr   
14connStr="Provider=SQLOLEDB.1;Initial Catalog=myDatabase;Data Source=myhon;User Id=sa;PASSWORD="   
15set conn=Server.CreateObject("ADODB.Connection")   
16conn.open connStr '建立数据库连接 
17
18recCnt=request.form("stu_num").count '取得共有多少条记录   
19'批量录入数据   
20for i=1 to recCnt   
21fieldName1=trim(request.form("fieldName1")(i))   
22fieldName2=trim(request.form("fieldName2")(i))   
23fieldName3=trim(request.form("fieldName3")(i))   
24sqlStr="insert into myTable(fieldName1,fieldName2,fieldName3) values('"   
25sqlStr=sqlStr & fieldName1 & "','"   
26sqlStr=sqlStr & fieldName2 & "','"   
27sqlStr=sqlStr & fieldName3 & "')"   
28'response.write sqlStr   
29conn.execute(sqlStr)   
30next   
31END SUB 
32
33'显示成批录入的界面   
34SUB InputData()   
35dim recCnt,i   
1<form action="" method="post" name="bathInputData">   

recCnt=cint(request.form("recCnt"))
for i=1 to recCnt

1<input name="fieldName1" type="text"/>
2<input name="fieldName2" type="text"/>
3<input name="fieldName3" type="text"/>   

next

1<br/>
2<input name="action" type="submit" value="提交"/>
3</form>
1   
2END SUB 
3
4'指定要批量录入多少条记录   
5SUB assignHowMuch()   
1<form action="" method="post" name="form1">   
2您要录入的记录的条数:<input name="recCnt" type="text"/>
3<input name="action" type="submit" value="下一步&gt;&gt;"/>
4</form>
 1   
 2END SUB 
 3
 4if request.form("action")="下一步>>" then   
 5Call InputData() '显示成批录入界面   
 6elseif request.form("action")="提交" then Call writeData() '向数据库批量写入数据   
 7else   
 8Call assignHowMuch() '显示指定录入多少条记录的界面   
 9end if   
10  
Published At
Categories with Web编程
Tagged with
comments powered by Disqus