討論區快速選單
知識庫快速選單
程式設計俱樂部Facebook粉絲團 網路投保旅行平安險 討論區最近新進100則主題
[ 回上頁 ] [ 討論區發言規則 ]
ADO真能減少資料庫存取嗎?
更改我的閱讀文章字型大小
作者 : beliefchen(belief) 人氣指數超過10000點
[ 貼文 24 | 人氣 10429 | 評價 0 | 評價/貼文 0 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/1/27 下午 10:05:20
雖然ADO介紹都說可以減少資料的存取
我也知道ADO中的DATATABLE可以互相關聯
但是實作中
如果SQL資料庫中一個 員工TABLE
欄位
員工工號 部門 員工姓名

另一個 TABLE 做作親屬
欄位
員工工號 親屬姓名

也就是說 員工這個TABLE 對親屬 是一對多

我現在要跑出一份報表
員工姓名 所有親屬名稱

基本上我還需要先抓出我要的員工姓名 ,然後再去"親屬" 這個TABLE抓出 所有的親屬姓名
用ADO好像也無法減少存取資料庫

還是有誰知道這該如何做??
作者 : regionbbs(小朱)技術副站長 VB.Net曠世奇才SQL Server 7/2K卓越專家.Net Framework優秀好手C#曠世奇才ASP.Net一代宗師ADO.Net卓越專家貼文超過6000則人氣指數超過70000點
[ 貼文 6372 | 人氣 82299 | 評價 36440 | 評價/貼文 5.72 | 送出評價 59 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/1/28 上午 12:02:12
你應該要用 SQL 的 JOIN 來處理會比較好吧 .
作者 : light673(吳馨琳) VB.Net頂尖高手貼文超過500則
[ 貼文 603 | 人氣 1480 | 評價 3860 | 評價/貼文 6.4 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/1/28 上午 07:13:07
:::可以把你的SQL語法寫在Store procedure裡!!!
作者 : beliefchen(belief) 人氣指數超過10000點
[ 貼文 24 | 人氣 10429 | 評價 0 | 評價/貼文 0 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/1/28 上午 08:10:46
沒有辦法用一個SQL語法去關聯
因為這是1對多的TABLE
但是我要找出來的報表是

員工姓名 所有親屬名字
王大明 王美華,王小明

並不是
員工姓名 所有親屬名字
王大明 王美華
王大明 王小明
作者 : regionbbs(小朱)技術副站長 VB.Net曠世奇才SQL Server 7/2K卓越專家.Net Framework優秀好手C#曠世奇才ASP.Net一代宗師ADO.Net卓越專家貼文超過6000則人氣指數超過70000點
[ 貼文 6372 | 人氣 82299 | 評價 36440 | 評價/貼文 5.72 | 送出評價 59 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/1/28 下午 04:14:06
不然就用把親屬資料快取住 , 在比對每筆資料時再去搜尋快取的親屬資料表就行了 .
作者 : beliefchen(belief) 人氣指數超過10000點
[ 貼文 24 | 人氣 10429 | 評價 0 | 評價/貼文 0 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/1/28 下午 05:40:33
問題是 如果親屬的資料有很多呢
好幾萬筆的情形下
如果我一開始就把親屬的資料全部SELECT出來
這個程式也很沒有效率
作者 : regionbbs(小朱)技術副站長 VB.Net曠世奇才SQL Server 7/2K卓越專家.Net Framework優秀好手C#曠世奇才ASP.Net一代宗師ADO.Net卓越專家貼文超過6000則人氣指數超過70000點
[ 貼文 6372 | 人氣 82299 | 評價 36440 | 評價/貼文 5.72 | 送出評價 59 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/1/28 下午 05:46:14
我認為那就不是 SQL 和 ADO (ADO.NET) 的問題 , 是你自己的設計有問題.
是否真的要一次就出來所有的列表 ? 還是設計一個 Detail 畫面來顯示詳細的資料 ?
如果一定一定要用這個格式 , 那表示你的硬體要能夠負載大量查詢 , 如果它是即時性資料 , 那問題會更嚴重 .
作者 : beliefchen(belief) 人氣指數超過10000點
[ 貼文 24 | 人氣 10429 | 評價 0 | 評價/貼文 0 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/1/28 下午 05:56:47
這跟架構設計無關
現實的應用上 就是有很多這種需求
1對多的資料,但是報表有些欄位的資料,就是要從別的TABLE抓出來整理
作者 : light673(吳馨琳) VB.Net頂尖高手貼文超過500則
[ 貼文 603 | 人氣 1480 | 評價 3860 | 評價/貼文 6.4 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/1/28 下午 07:04:13
:::你的二個Table應該是
員工TABLE
員工工號 部門 員工姓名
01 A01 王大明

親屬TABLE
員工工號 親屬姓名
王大明 王美華
王大明 王小明

所以就用小朱大大所說的JOIN來做處理,至於
你所說的格式:

員工姓名 所有親屬名字
王大明 王美華,王小明

這應該是報表方面的問題了!!!
作者 : regionbbs(小朱)技術副站長 VB.Net曠世奇才SQL Server 7/2K卓越專家.Net Framework優秀好手C#曠世奇才ASP.Net一代宗師ADO.Net卓越專家貼文超過6000則人氣指數超過70000點
[ 貼文 6372 | 人氣 82299 | 評價 36440 | 評價/貼文 5.72 | 送出評價 59 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/1/28 下午 08:11:12
就是因為現實中有些需求是特殊的 , 所以才會有各種的物件 , 工具和演算法 .
原貼文者是問 "ADO 真能減少資料存取嗎" , 我的答案是 , 在大部份的情況下一定可以 , 但若碰到特殊需求 , 那就要衡量設計方法和效能 , 效能愈好或愈和需求符合的程式絕對不是幾行就可以解決的 , 更何況我說的不是架構 , 而是設計方法 .
作者 : bluetulip(BlueTulip) Visual Basic優秀好手貼文超過1000則人氣指數超過10000點
[ 貼文 1127 | 人氣 28366 | 評價 4070 | 評價/貼文 3.61 | 送出評價 15 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/1/29 上午 02:29:56
一個系統從使用需求、資料庫規劃開始,一路到完工有很多環節。
不能因為你現在接手的系統在這地方碰到問題就說ado不好....
要是你能把架構設計的好一點,要是你能製造自己要用的物件,
那這些問題都不會發生。ADO只不過是通用性的基本,並不是萬能的。
如果ADO那麼完美,那還要偶們這些名為「程式設計師」的生物做什麼??
作者 : g9223229(kevin)
[ 貼文 5 | 人氣 155 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/1/31 上午 08:08:24
ado.net可分為2種模式運作,第1種為連線方式如使用DataReader(read only,forward only),另1種為離線方式如使用DataAdapter。而微軟所謂的減少資料庫存取為第2種方式,只在必要時才更新資料至資料庫。如果你只作查詢用,請使用第1 種方式,因為速度快,
並確認索引是否建立,另請先使用條件或select掉不必要之資料。一般而言,考慮程式執行
速度都未完全將資料正規化。
 板主 : 小朱
 > ADO.NET - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - ADO.NET - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
ADO.NET
1 小朱 1520 
2 識丁 280 
3 吳馨琳 270 
4 小台 180 
5 Snaking 140 
6 mark 140 
7 好說 120 
8 ammon 100 
9 toyboy 70 
10 再見男人 50 
ADO.NET
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
0.0625