RDLC 教學(二) 顯示外來鍵值的做法

  接續上一篇教學,這一篇要教各位抓取關聯另一個table的值的做法,因為資料庫有正規化緣故,所以資料存取時都需要同時存取多個tables,學長教我一個用Partial方法可以存取另一個table的值。

  1. 新增一個類別
    [code lang="vbnet"]
    Partial Public Class Products
        Public ReadOnly Property CategoryName As String
            Get
                ' 當dbml有設定好關聯就可以直接呼叫,如果沒有就自己下LINQ或SQL指令
                Return Me.Categories.CategoryName
            End Get
        End Property
    End Class[/code]
  2. 打開NorthwindDataSet.xsd之後,加入資料行至Product裡面,命名和Partial的Property名稱一樣。
    Add
  3. 接著打開報表Products.rdlc之後,將DataSet右鍵=>重新整理,此時會看到CategoryName了,我們將CategoryName拉到資料表中然後儲存,然後看一下輸出結果。
    refresh datasets
    Result

OK. 我們已經成功將資料抓進來了!
使用Partial的優點是簡單易用,而且別的報表也要抓的時候也可以重覆使用之前所設定好的關聯。
但缺點是當如果有100列資料的時候,將會SELECT 100次,對效能和伺服器負擔可能會比較大些。
還有另一種做法是使用資料庫的VIEW方式,將關聯都設定完成後,把VIEW當成資料集來源。
下一篇將用VIEW來示範多個關聯表示範。

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>