以北風資料庫(NorthWind)為例,要呈現一份訂單明細(主表明細、主細表、Master-Detail)
Order 訂單主檔

Order Detail 訂單明細檔

因為 Order與 Order Detail兩個資料表經過正規化 (請看下圖)
所以上面只紀錄「客戶編號」(而不是客戶名稱)
只紀錄了業務編號(公司裡面,如果人多,誰能記住員工編號?理論上,應該呈現「員工名稱」,人才看得懂)
明細表裡面的「產品編號」也是相同的問題。
公司產品成千上萬,誰能記住「產品編號」?最好還是出現人看得懂的「產品明稱」...... 比較 User Friendly
預設的 SqlDataSource 精靈設定畫面,只能作到這樣:

請看書本上集(ASP.NET專題實務)第九章的說明,也有在網站上分享:
[主細表/主表明細] GridView+SqlDataSource,一行程式碼都不用寫。書本(上集)9-1節內容公開
http://www.dotblogs.com.tw/mis2000lab/archive/2008/12/02/gridview_sqldatasource_1202.aspx
================================================================================
如果要加以改善,這個範例,可以有兩種作法:
第一種,
[習題]GridView樣版內部,改用CheckBox/Radio/DropDownList(單/複選)控制項,取代TextBox #0--基礎篇(上集 第八章)
http://www.dotblogs.com.tw/mis2000lab/archive/2011/11/28/gridview_templatefield_radobuttonlist_20111121.aspx

第二種,
直接寫 SQL指令,把幾個資料表 Join在一起,就能解決了。
例如:
<asp:SqlDataSource ID="SqlDataSource2" runat="server"
ConnectionString="<%$ ConnectionStrings:你存在Web.Config的DB連結字串 %>"
SelectCommand="Select B.*, C.ProductName As ProductName
From [Orders] A, [order details] B, [Products] C
Where A.OrderID = B.OrderID and B.ProductID = C.ProductID and A.OrderID = @OrderID">
<SelectParameters>
<asp:ControlParameter ControlID="DetailsView1" Name="OrderID"
PropertyName="SelectedValue" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
建 議:在SQL指令裡面,透過 As 別名(作法如上),而不要直接把 C.ProductName用上去(作法如下圖,不建議!),
比較不會出錯。


建 議:在SQL指令裡面,透過 As 別名,而不要直接把 C.ProductName用上去(作法如上圖,不建議!),
比較不會出錯。
第二種作法的範例下載:Ch9_NorthWind_Join.rar
裡面有四個小範例,最後兩個範例的執行成果就是上面兩張圖片
這些範例都需要 熟悉 Visual Studio的操作
您不懂操作,拿到這些結果也沒有用。
因為不寫程式,只靠畫面操作就能完成。
所以 VB / C#語法並無差別。
這裡有一個很基礎的 SQL指令教學網站,很有幫助:
http://www.1keydata.com/tw/sql/sql.html
請您接著看下一篇文章:
http://www.dotblogs.com.tw/mis2000lab/archive/2012/03/20/repeater_northwind_master_detail_20120320.aspx
網頁上的補充範例(售後服務),不一定能立即提供 VB / C#語法(看時間夠不夠寫,請不要跟我們要)。
但書本上面的範例,一定有 VB / C#雙語法給您學習。 請看我們的「售後服務」範圍(嚴格認定)。
防範SQL Injection / XSS攻擊,請看:ASP.NET安全寫作 資料來源 -- TWISC@NTUST網路應用安全知識庫


............................. 寫信給我,mis2000lab (at) yahoo.com.台灣......
南無普光佛 南無普明佛 南無普淨佛 南無多摩羅跋栴檀香佛 南無栴檀光佛 南無摩尼幢佛 南無歡喜藏摩尼寶積佛 南無一切世間樂見上大精進佛 南無摩尼幢燈光佛
南無慧炬照佛 南無海德光明佛 南無金剛牢強普散金光佛 南無大強精進勇猛佛 南無大悲光佛 南無慈力王佛 南無慈藏佛 南無栴檀窟莊嚴勝佛 南無賢善首佛
南無善意佛 南無廣莊嚴王佛 南無金華光佛 南無寶蓋照空自在力王佛 南無虛空寶華光佛 南無琉璃莊嚴王佛 南無普現色身光佛 南無不動智光佛 南無降伏眾魔王佛
南無才光明佛 南無智慧勝佛 南無彌勒仙光佛 南無善寂月音妙尊智王佛 南無世淨光佛 南無龍種上尊王佛 南無日月光佛 南無日月珠光佛 南無慧幢勝王佛
南無師子吼自在力王佛 南無妙音勝佛 南無常光幢佛 南無觀世燈佛 南無慧威燈王佛 南無法勝王佛 南無須彌光佛 南無須曼那華光佛 南無優曇鉢羅華殊勝王佛
南無大慧力王佛 南無阿閦毗歡喜光佛 南無無量音聲王佛 南無才光佛 南無金海光佛 南無山海慧自在通王佛 南無大通光佛 南無一切法常滿王佛 南無釋迦牟尼佛
南無金剛不壞佛 南無寶光佛 南無龍尊王佛 南無精進軍佛 南無精進喜佛 南無寶火佛 南無寶月光佛 南無現無愚佛 南無寶月佛 南無無垢佛 南無離垢佛
南無勇施佛 南無清淨佛 南無清淨施佛 南無娑留那佛 南無水天佛 南無堅德佛 南無栴檀功德佛 南無無量掬光佛 南無光德佛 南無無憂德佛
南無那羅延佛 南無功德華佛 南無蓮華光遊戲神通佛 南無財功德佛 南無德念佛 南無善名稱功德佛 南無紅燄帝幢王佛 南無善遊步功德佛 南無鬪戰勝佛
南無善遊步佛 南無周匝莊嚴功德佛 南無寶華遊步佛 南無寶蓮華善住娑羅樹王佛 南無法界藏身阿彌陀佛
............................. 寫信給我,mis2000lab (at) yahoo.com.台灣......
無垢清淨光 慧日破諸闇 能伏災風火 普明照世間