批量錄入在數據庫的應用中比較廣泛的,關於批量錄入的方法也有好多種。下面我就結合我實際中的應用,談一下兒我是怎麼實現的。主要用到的是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
% >