马上注册,结交更多好友,享用更多功能,让你轻松玩转闽南师范大学。
您需要 登录 才可以下载或查看,没有账号?立即加入
×
批量录入在数据库的应用中比较广泛的,关于批量录入的方法也有好多种。" i5 S' B9 l/ P5 |$ X ]0 i8 M
下面我就结合我实际中的应用,谈一下我是怎么实现的。
( e. o2 U3 S; ^, F主要用到的是form的集合的概念,通过循环取的所有的集合内数据。7 P7 T6 S0 t1 e9 t
考虑到大家看着方便,我把它集成到了一个页面。5 x4 j/ [$ I; k! ~
下面是具体的代码: 2 a; A5 x( _( ~' u
batchInput.asp
! f9 O% B) w; r<%+ v# a y* A+ z5 t) r. ]1 ^, E4 K
'#####################################
* h# g+ j. g; y$ x% N, |: A! H! F'File Function:批量录入数据
! M2 ]3 `; s' ?+ _2 ~& }$ m2 k'Author:Myhon9 [+ [. u( C! G& V
'Date:2003-8-19
+ d3 T) d4 y4 p( x5 e'#####################################% h' t; z& \, I! \
'向数据库写入数据
) J2 Y% j( b' T: Z# _6 {1 sSUB writeData()
& P9 W% z: `/ N2 V2 L& idim recCnt,i
5 S( u7 n- A+ I4 a/ y8 F# N- C+ Idim fieldName1,fieldName2,fieldName33 v+ v& I, Z1 a) q4 H5 b0 v+ l! P
dim conn
/ L* a, u1 v4 |" k* s& V3 e+ a5 D' hdim sqlStr,connStr
4 F) ]9 E; l2 mconnStr=" rovider=SQLOLEDB.1;Initial Catalog=myDatabase;Data Source=myhon;User Id=sa ASSWORD="
% o! R. u+ M9 Gset conn=Server.CreateObject("ADODB.Connection")- w8 N8 h& z+ p* R
conn.open connStr '建立数据库连接
1 k% |3 f( a; [- XrecCnt=request.form("stu_num").count '取得共有多少条记录/ B/ P. a* d- r( \
'批量录入数据# @( G! N0 v, g5 l
for i=1 to recCnt
. K$ @9 U; `, I+ S% U5 K8 M# cfieldName1=trim(request.form("fieldName1")(i))
/ x. d4 l$ ?# R: m# c' xfieldName2=trim(request.form("fieldName2")(i)): T9 s! H/ L2 L* a
fieldName3=trim(request.form("fieldName3")(i))
3 u8 F# c% @$ i9 ]; zsqlStr="insert into myTable(fieldName1,fieldName2,fieldName3) values('"2 p7 V/ R* p1 G! D+ g# n; N$ E9 o
sqlStr=sqlStr & fieldName1 & "','"6 S6 X% s6 F, D! t! m
sqlStr=sqlStr & fieldName2 & "','"7 I4 W$ H4 t, r5 g1 O/ i) f4 Q o
sqlStr=sqlStr & fieldName3 & "')"; l: C/ G9 F. W1 m+ f& X1 [5 |2 T# O
'response.write sqlStr
. E4 u! m2 | uconn.execute(sqlStr)" h& r( G' Q# M2 d& E: W
next
2 p+ @) p% U0 s& G a" TEND SUB& W* h* K, Y' t9 ?# V9 F, V: P
'显示成批录入的界面
6 r. n" `3 H3 o, X7 F1 L% f8 C: `' dSUB InputData()
% W7 K8 i3 N5 W9 ^2 pdim recCnt,i0 U* c5 X) \, s, a& R9 [
%>
3 O6 u3 x$ q/ ^% ?- Q" P<form>
- v9 a" @5 R- B, b9 t<%
2 _( y$ g( {: h9 j6 o. o8 ]recCnt=cint(request.form("recCnt"))* Z& B( }, X( {
for i=1 to recCnt6 z! E6 L1 ?' j- G; {0 f
%>+ k, U0 Y; B* l% `8 E; t% G: e6 A
<input>8 e3 c& o& F2 L, a6 T
<input>
! z1 A8 G7 }1 w6 Q% J# L$ d. x# j<input>0 x! Q( M" H7 K" ?2 y- \
<%$ {4 N% ]4 r+ q' {
next
+ e: H- ^4 q; o. T& ~. I! n$ h%>7 ~* b* ?7 N( e+ G
<br>5 Z ~2 j7 }- x c/ K
<input>4 X& U8 b6 e- O) @+ ?% n, {& f
</form>) }7 I( G' u, G! ?) g8 p" t. V
<%9 Y$ F, P0 w6 l2 x$ ^
END SUB4 r+ s! [) K ^1 _7 M
'指定要批量录入多少条记录
6 u- \+ u% y: sSUB assignHowMuch()
- h$ o, c) t" p) a% N5 e%>
( y1 t) Z: f' K- m: V8 g<!------指定要录入多少条记录-------------->( r# W9 P4 }: R7 K9 x
<form>* e2 }; C; ^+ H. l( p% l
您要录入的记录的条数:<input>9 T2 ?5 _7 N" x# l D) I
<input>>">, V9 {" i6 V& j1 {, m
</form>% Q+ W/ s1 I1 Q4 ^' F! U( W1 ~
<%8 n" j" P. n. c0 H' W! D3 f2 g+ V
END SUB
2 A' q, u2 c) b) Q. X# E2 Tif request.form("action")="下一步>>" then0 U2 o9 d2 I0 ]; F) f6 O5 H; M& ~# ^
Call InputData() '显示成批录入界面
7 ? x* U- \+ | D- i- u, zelseif request.form("action")="提交" then Call writeData() '向数据库批量写入数据
; p$ l& z- O. \; I1 u7 L6 pelse
3 i* [7 Y. b% HCall assignHowMuch() '显示指定录入多少条记录的界面
5 V8 H6 t- [$ k! m0 X6 g$ z. yend if
7 M3 f0 ^& K7 }/ e0 m& i1 H% B
2 ^6 R9 {- h" Y6 D3 P2 S3 O%> |