马上注册,结交更多好友,享用更多功能,让你轻松玩转闽南师范大学。
您需要 登录 才可以下载或查看,没有账号?立即加入
×
批量录入在数据库的应用中比较广泛的,关于批量录入的方法也有好多种。9 v" _/ E& z$ a
下面我就结合我实际中的应用,谈一下我是怎么实现的。2 D4 k f B {: e, O- j9 g- a
主要用到的是form的集合的概念,通过循环取的所有的集合内数据。/ G2 ~' K2 p* i
考虑到大家看着方便,我把它集成到了一个页面。
, ], y+ d W& u6 c下面是具体的代码: * |/ }9 `$ q* n1 D5 m" f
batchInput.asp5 }4 c- N) A8 Q- J
<%
, V7 q4 a) {; U: J! k6 c'#####################################- C6 ?$ I0 Z1 E" ~
'File Function:批量录入数据
! o8 o% a4 t. B/ W; I'Author:Myhon6 |. r7 X4 e1 `( \5 }1 n5 Q6 z
'Date:2003-8-19+ t* W3 `; \( ~* w4 L! ~
'#####################################& s, Q" U, E3 U# P- O
'向数据库写入数据
! w3 Y: S# a& E9 m. R( t6 xSUB writeData()
' z5 W! [9 S. L" g6 I& P( `' N) z! g& |dim recCnt,i
) Q9 q1 [ q/ }- g% n7 h8 jdim fieldName1,fieldName2,fieldName3
* L1 e$ S, w0 n' t1 P. P% O; zdim conn# a% K+ v9 j: ?" K# K: |, X, r
dim sqlStr,connStr
9 d O5 B5 e. U& hconnStr=" rovider=SQLOLEDB.1;Initial Catalog=myDatabase;Data Source=myhon;User Id=sa ASSWORD="6 ] r/ _2 G9 j) L& C' T
set conn=Server.CreateObject("ADODB.Connection")7 G' S! p! k: P$ ~4 D6 I! F8 g% P! p
conn.open connStr '建立数据库连接
- z3 i9 r& r" X3 K: _recCnt=request.form("stu_num").count '取得共有多少条记录
' ` Y% p8 v" ~& d'批量录入数据
: c& |5 ~8 G& g c: q1 T5 y+ qfor i=1 to recCnt# U2 k, F9 y+ ~9 c* S
fieldName1=trim(request.form("fieldName1")(i))& k2 f) l0 u: Y$ Y4 u6 @ A/ k
fieldName2=trim(request.form("fieldName2")(i))
5 i" G/ {5 ?* p, | r3 SfieldName3=trim(request.form("fieldName3")(i))
$ V ` q6 U& c c) y% ksqlStr="insert into myTable(fieldName1,fieldName2,fieldName3) values('"# m/ \) g& f3 J, _; A+ ^
sqlStr=sqlStr & fieldName1 & "','"
2 |1 }' P3 j8 s4 j% }/ jsqlStr=sqlStr & fieldName2 & "','"/ {; N( s! V# ^2 A& t
sqlStr=sqlStr & fieldName3 & "')"( K, `5 q, q y
'response.write sqlStr
1 d9 \! X( ^: B- a# L/ l! ~conn.execute(sqlStr)3 t: J; R. Y6 M
next
# A( ~. l5 q4 `END SUB
3 w( |* ~" n. c& u8 q- O e'显示成批录入的界面
0 z& v" ]( N" G' G& @SUB InputData()
@2 o0 D( x) q' b- ndim recCnt,i) O7 ~# ?; m, t1 w
%>! J l5 H- H9 n; [ a. {( b( A9 Q
<form>% V& j. j7 ~+ a" z0 x; q' ?4 ~# [
<%
. f+ i, D/ T0 U$ N5 WrecCnt=cint(request.form("recCnt"))& I6 g7 y3 K/ |; U/ Z# g
for i=1 to recCnt
^$ w1 G& V2 F, s# _%>8 W" e7 P0 T1 m, x0 l y
<input>2 F( D$ S) u/ H- D* J0 F
<input>
0 S1 R% E; k; O4 U9 R, Q( }<input>3 g9 @1 x1 x- X, \! U
<%# \7 G7 L- ^# |! M- ?* p
next& M/ ~+ D) `! M3 j1 t1 i
%>* U* e5 Z. h% r9 I5 m0 ]+ z
<br>) ~$ j! D* L) n. w& ]3 j
<input>; e6 c5 U6 L+ l' O, a/ j
</form>
# g8 a7 P6 u4 w! f+ q/ I<%
+ J/ j" m' Q9 O2 P9 r+ [* u" IEND SUB
8 h ?0 O3 E5 o$ ^: z9 n'指定要批量录入多少条记录* u0 K( h, [3 ?1 t9 [* I, A6 _
SUB assignHowMuch()
: P! g t# Y1 {. Y d- T- ?2 X%>
- o" Y2 _! @$ V' v<!------指定要录入多少条记录-------------->
/ V; g& W" ~; ?/ F% p<form>
J$ s9 t9 _( y6 ~4 H您要录入的记录的条数:<input>7 i/ Q) H+ s) |! l# `
<input>>">
+ H6 f) C2 K6 L0 H3 g0 }. O</form>
! k1 y: [' z0 ~1 z0 L<%$ {+ n" H u6 |& I$ z
END SUB
# Y$ S6 J- W8 y. f0 O( xif request.form("action")="下一步>>" then
8 ?$ R2 F8 j: G+ Y) a" vCall InputData() '显示成批录入界面; ?$ `3 N) [( s
elseif request.form("action")="提交" then Call writeData() '向数据库批量写入数据' P! s w8 e# d7 S& \
else: ?- ?, {# y% l) P& F
Call assignHowMuch() '显示指定录入多少条记录的界面- s2 [9 B! T1 C# P5 p
end if
& @6 _$ j- _- [: I0 d/ k/ ]0 @# M* s& |
%> |