質問
私は顧客にどのようなソフトウェアを購入したかを示し、そのソフトウェアをダウンロードするためのリンクを提供する Web ページを構築しています。残念ながら、購入したものに関するデータとダウンロード情報は別のデータベースにあるため、SQL クエリの結合だけで処理することはできません。
共通項目はSKUです。顧客購入データベースから SKU のリストを取得します。ダウンロード テーブルには、そのダウンロードに関連付けられた SKU のカンマ区切りのリストがあります。現時点での私の目的は、この 1 つのデータテーブルから作成して、 GridView
.
これを効率的に行う方法についての提案をいただければ幸いです。それが役立つ場合は、非常に簡単にデータを DataSet
または DataReader
, 、この目的のためにはどちらか一方が適している場合。
正しい解決策はありません
他のヒント
2 つのデータベースが同じ物理サーバー上にあり (MSSQL を想定)、接続文字列で使用されているユーザー名とパスワードが両方の DB に対する権限を持っている限り、2 つのデータベース間で結合を実行できるはずです。例:
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
この問題に対して、ドメイン オブジェクト ベースのアプローチを作成してみてはいかがでしょうか。
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...
}
}
}
これには何百万ものバリエーションがありますが、この情報を集約すると、プレゼンテーションが簡単になるのではないでしょうか?
私はここで頭のてっぺんから考えています。両方を同じデータ セット内のデータ テーブルとしてロードし、SKU を介して 2 つの間の関係を定義し、データ セットに対してクエリを実行すると、目的の結果が得られます。
所属していません StackOverflow