2008-08-05 13 views
6

Müşteriye hangi yazılımı satın aldığını göstermek için bir web sayfası hazırlıyorum ve söz konusu yazılımı yüklemek için bir bağlantı vereceğim. Ne yazık ki, nelerin satın alındığı ve indirilen bilgiler ile ilgili veriler ayrı veritabanlarındadır, bu yüzden bir SQL sorgusunda bir araya gelmekle ilgilenemiyorum.2 veri kümesini nasıl filtreleyebilir ve birleştirebilirsiniz C#

Ortak öğe, SKU'dur. Müşteri alımları veritabanından SKU'ların bir listesini çekeceğim ve indirme tablosunda bu indirmeyle ilişkili SKU'ların virgülle ayrılmış bir listesi var. Benim niyetim şu anda, bir GridView doldurmak için bu bir veri tablosundan oluşturmaktır.

Bu işlemin nasıl yapılacağına dair herhangi bir öneri takdir edilecektir. Eğer yardımcı olursa, bu amaç için hangisinin daha iyi olursa, verileri kolaylıkla DataSet veya DataReader olarak geri çekebilirim.

+1

büyük olasılıkla ikincisi gibi görünüyor olarak 'silindi' veya 'tarif' yazmaya niyeti oldu, ama belki kelimesini demek ki belirli bir anlamda olabilir? –

+0

Av için teşekkürler. Bu düzeltildi! – saalon

+1

Sorun değil. Doğrudan düzenlenmiş olabilirdim ama onunla uğraşmadan önce ne demek istediğinden emin olmak istedim. –

cevap

0

Kafamın üstünü burada düşünüyorum. Hem Veri Tabloları'nı aynı Veri Kümeleri'ne yüklerseniz, hem de SKU üzerindeki iki ilişkiyi tanımlarsanız ve ardından istenen sonucu üreten Veri Kümesinde bir sorgu çalıştırırsanız.

2

sürece iki veritabanları aynı fiziksel sunucu üzerinde olduğu gibi (varsayarak MSSQL) ve kullanıcı adı/şifre bağlantı dizesinde kullanılıyor hem veritabanları haklarına sahip, o zaman iki veritabanları arasında birleştirme gerçekleştirmek mümkün olmalıdır . Örnek: Bu bir milyon varyasyonları vardır

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...   
     } 
    } 
} 

, ancak bu bilgi toplamak kez, bu daha kolay olmaz:

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

Neden bu soruna bir etki alanı nesnesi tabanlı bir yaklaşım yaratmaz mevcut?

İlgili konular