台灣最大程式設計社群網站
線上人數
1418
 
會員總數:246630
討論主題:190056
歡迎您免費加入會員
討論區列表 >> ASP >> [ASP]王國榮先生那類用包含function的檔案取資料庫...
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
[ASP]王國榮先生那類用包含function的檔案取資料庫...
價值 : 0 QP  點閱數:2542 回應數:11
樓主

hkmtg
初學者
76 12
10 28
發送站內信

寫一個function來讀DataBase, 所以

先在內文
Set rs = GetMdbRecordSet("Database",SQL,"Password")

再在function
Set GetMdbRecordset = GetMdbRs( FileName, Source, 0, "", Locks )
Set conn = Server.CreateObject("ADODB.Connection")
Set conn = GetMdbConnection( FileName )

可是一個rs.close也沒有...

而由於 GetMdbRecordset 和 conn 都在include的檔案之內,在原文內根本不能Set conn.close 或是 conn.ConnectionTimeOut等東西.....

而且Set了東西不Close,是不是會影響速度?因為我的網頁資料庫就經常忙碌(rs is nothing),百思不得其解,不知道跟這個有沒有關係...

搜尋相關Tags的文章: [ 資料庫 ] , [ 資料庫 ] , [ function ] ,
本篇文章發表於2002-05-09 22:33
1樓
回應

Allen
捐贈 VP 給 Allen 檢舉此回應
conn在include file中, 在asp中應該可以conn.close吧 !? 沒去研究, 但印象中是可以的, 您有空時可以試試
每頁close是好習慣, 但, 不應是您網站的問題所在才是
本篇文章回覆於2002-05-09 23:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

hkmtg
檢舉此回應
conn.close '<Line 185

就會變成這樣︰
Microsoft VBScript runtime error '800a01a8' 

Object required: '' 

/forum/forum.asp, line 185
本篇文章回覆於2002-05-10 12:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

小羊
檢舉此回應
GetMdbRecordSet是一個function, 最 主要是 用來 打 開資料庫連結 , 所 以在 這
function內不可 以CLOSE, 不然 就 白叫 了
在你寫ASP中你呼叫 GetMdbRecordSet的function
Set rs = GetMdbRecordSet("Database",SQL,"Password")
只要結束不用RS時, 就 可 以
rs.close
本篇文章回覆於2002-05-10 14:21
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

hkmtg
檢舉此回應
但是在這個function用完之後,conn並沒有close過....
本篇文章回覆於2002-05-10 18:12
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

路人乙
檢舉此回應
請問我如果在一個網頁中 開了資料庫 如用王國榮的函數來開 rs=GetMdbRecordse("參數")  
那麼網頁讀取完必後 不用rs.close資料庫會自動關必嗎 ? 或是繼續開著呢      ?     
本篇文章回覆於2002-05-10 18:25
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

路人乙
檢舉此回應
其實我自已有試過 應該是會自動關 那就不用rs.close 了?
本篇文章回覆於2002-05-10 18:26
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

路人乙
檢舉此回應
如 在a.asp 裡 rs.open 再直接跳到b.asp 裡用 rs 會出現錯務
本篇文章回覆於2002-05-10 18:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

hkmtg
檢舉此回應
但如果是自動關,那rs.close和Set rs = nothing是...是用來幹啥的!?(我真的不知道,別打我丫)
本篇文章回覆於2002-05-10 22:40
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

ivan
檢舉此回應
這是變數生命期的問題
function 所宣告的變數內容
在 end function後就自動消失
不過, 還是自己考慮好狀況, 寫好 
rs.close
set rs=nothing
比較安全
至於
conn.close
set conn=nothing
只要寫對地方就不會error
王國榮先生的function內會呼叫其他function
本篇文章回覆於2002-05-11 10:09
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
回應

路人乙
檢舉此回應
那我再請教一個問題請高手們幫我解答可否?有關王國榮書中的疑問。
王國榮那本書教到資料庫時有提到『可指定開起第幾筆資料錄的方法』,但他說那樣會降低電腦值行速度,於是我試著寫一個asp留言版程式,用
rs.movefirst
for i= 1 to 要讀取的資料錄筆數(資料表用sql排序過)-1
if rs.eof then exit for
rs.movenext'----------------------這裡就一直movenext到要到的筆數
next

請問這方法是否可以呢,算不算『正統的寫法』?,因為是我自已想的寫法,這樣程式跑起來會不會降低直行速度呢?(我只能在自已的電腦上測試程式…上網要到網咖,無法上傳到網路試)
本篇文章回覆於2002-05-12 08:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
回應

Allen
捐贈 VP 給 Allen 檢舉此回應
一筆筆movenext應該不快, 如果只有幾筆, 無論lan or wan都不慢, 隨著筆數愈多, movenext便不快了
本篇文章回覆於2002-05-12 11:01
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.