***問題 : 迴圈裡面 要再SELECT , 我這conn2放這對嗎?
Set conn2 = Server.CreateObject("ADODB.Connection")
conn2.Open Application("conn")
rs1.MoveNext
loop
rs1.close
set rs1=nothing
conn.close
set conn=nothing
依照你的意思,以下是我的寫法,提供給你做參考
<pre class="c" name="code">Set DBS = Server.CreateObject("ADODB.Connection")
DBS.Open "dsn=資料庫01名稱;uid=帳號;pwd=密碼"
sql="select A from B"
Set rs = DBS.Execute(sql)
rs.movefirst
while Not rs.EOF
Set DBS01 = Server.CreateObject("ADODB.Connection")
DBS01.Open "dsn=資料庫02名稱;uid=帳號;pwd=密碼"
sql01="select C from D"
Set rs01 = DBS01.Execute(sql01)
....
DBS01.close
set rs01=nothing
rs.movenext
wend
看到scottchen大的說法
想到的另一寫法,如下:
Set DBS = Server.CreateObject("ADODB.Connection")
DBS.Open "dsn=資料庫01名稱;uid=帳號;pwd=密碼"
Set DBS01 = Server.CreateObject("ADODB.Connection")
DBS01.Open "dsn=資料庫02名稱;uid=帳號;pwd=密碼"
sql="select A from B"
Set rs = DBS.Execute(sql)
rs.movefirst
while Not rs.EOF
sql01="select C from D"
Set rs01 = DBS01.Execute(sql01)
....
set rs01=nothing
rs.movenext
wend
DBS01.close
DBS.close
我比較不喜歡在迴圈裡建立物件,總覺得會被電腦責備「為什麼一下要建一下又要關」,
不過應該都可以啦(反正現在也沒人在乎程式執行的效能),
只要注意建立和關閉的程式碼要放在同一層迴圈就好
應該可以共用同一個connection,不需要在迴圈裡面重覆建新的,除非要連到不同的DB,但就算要連到不同的DB,也應該是在迴圈外面建立