2008-08-05 72 views
6

我正在構建一個網頁,向客戶展示他們購買了哪些軟件,併爲他們提供了下載所述軟件的鏈接。不幸的是,關於購買內容和下載信息的數據在單獨的數據庫中,所以我不能僅僅使用SQL查詢中的連接來處理它。如何過濾和組合C#中的2個數據集

常見的項目是SKU。我將從客戶購買數據庫中提取SKU列表,並在下載表中列出與該下載相關的SKU的逗號分隔列表。目前我的意圖是從這個數據表創建一個GridView

有關如何有效地做到這一點的任何建議,將不勝感激。如果有幫助,我可以很容易地將數據作爲DataSetDataReader進行回退,如果其中任何一個更適合此目的。

+1

是否有意將「刪除」或「劃定」寫成最有可能是後者的字詞,但也許可能有一個特定的含義,在這個意義上,你的意思是這個詞? – 2016-03-24 00:10:42

回答

0

我在想我的頭頂。如果在相同的數據集中加載兩個數據表,並通過SKU定義兩者之間的關係,然後在產生所需結果的數據集上運行查詢。

2

只要兩個數據庫位於同一個物理服務器上(假定爲MSSQL)並且連接字符串中使用的用戶名/密碼對這兩個數據庫都有權限,那麼您應該可以跨兩個數據庫執行連接。例如:

select p.Date, 
     p.Amount, 
     d.SoftwareName, 
     d.DownloadLink 
from PurchaseDB.dbo.Purchases as p 
join ProductDB.dbo.Products as d on d.sku = p.sku 
where p.UserID = 12345 
2

爲什麼不創建一個基於域對象的方法解決這個問題:

public class CustomerDownloadInfo 
{ 
    private string sku; 
    private readonly ICustomer customer; 

    public CustomerDownloadInfo(ICustomer Customer){ 
     customer = Customer; 
    } 

    public void AttachSku(string Sku){ 
     sku = Sku; 
    } 

    public string Sku{ 
     get { return sku; } 
    } 

    public string Link{ 
     get{  
      // etc... etc...   
     } 
    } 
} 

上有此一百萬的變化,但一旦你彙總這些信息,那豈不是更容易當下?