今天看書的時候,終於看明白了dataadapter相關的開啟和關閉連線的問題
dataadapter使用的時候可以不顯式的開啟或關閉連線, 這是因為dataadapter能夠自動的處理該任務.
如果在呼叫fill方法的時候連線是關閉的,則連線會自動開啟,
然後從資料庫中把資料記錄填充到dataset中,接著連線會自動關閉.
如果呼叫fill方法的時候連線已經開啟,dataadapter物件將保持開啟連線,直到方法執行完畢, 這時並不會自動關閉連線。
這樣的話如果遇見要填充幾個表的時候,就可以顯式開啟連線,然後依次向dataset中填充表,直到最後乙個fill方法,
才顯式的關閉連線.這樣避免了發生fill方法呼叫時,就開啟一次連線,關閉一次, 提公升效率。
看msdn上的dataadapter.fill的說明:
fill 方法使用相關的 selectcommand 屬性所指定的 select 陳述式,從資料來源擷取資料列。與 select 陳述式關聯的連線物件必須是有效的,但不需要是開啟的。如果在呼叫 fill 之前關閉連線,它會先開啟以擷取資料,然後再關閉。如果在呼叫 fill 之前開啟連線,它會保持開啟。
深入理解DataAdapter(一)
ado.net有兩個核心元件 基於連線的data provider元件以及基於非連線的dataset元件。基於連線的data provider元件常用於實時地從資料庫中檢索資料。而基於非連線的dataset,似乎與資料庫沒有直接聯絡,僅僅用於在本地記憶體中儲存data provider提供的資料表或...
使用DataAdapter更新資料來源
sqldataadapter dataadpater new sqldataadapter select categoryid,categoryname from categories connection dataadpater.updatecommand new sqlcommand updat...
使用DataAdapter更新資料來源
sqldataadapter dataadpater new sqldataadapter select categoryid,categoryname from categories connection dataadpater.updatecommand new sqlcommand updat...