Hoe te filteren en te combineren 2 datasets in C #

stemmen
7

Ik ben het bouwen van een webpagina aan een klant welke software ze gekocht en ze een link te geven aan downloaden zei software te laten zien. Helaas, de gegevens over wat werd gekocht en de download informatie in afzonderlijke databases, dus ik kan niet alleen zorgen voor het met joins in een SQL-query.

De gemeenschappelijke artikel is SKU. Ik zal een lijst van SKU's te trekken uit de database aankopen van de klant en op de download tafel is een komma afgebakende lijst van SKU's die bij die download. Mijn bedoeling, op dit moment, is het creëren van deze ene datatable naar een bevolken GridView.

Eventuele suggesties over hoe dit te doen efficiënt zou worden gewaardeerd. Als het helpt, kan ik vrij gemakkelijk terug te trekken van de gegevens als een DataSetof DataReader, indien één beter voor dit doel zou zijn.

De vraag is gesteld op 05/08/2008 om 14:17
bron van user
In andere talen...                            


3 antwoorden

stemmen
2

Waarom niet een Domain object-gebaseerde aanpak van dit probleem te maken:

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

Er zijn een miljoen variaties op dit, maar zodra je deze informatie verzamelen, zou het niet makkelijker om te presenteren?

antwoordde op 05/08/2008 om 15:06
bron van user

stemmen
2

Zolang de twee databases zijn op dezelfde fysieke server (uitgaande van MSSQL) en de gebruikersnaam / wachtwoord worden gebruikt in de connection string rechten op beide DB's, dan moet je in staat zijn om het uitvoeren van een join over de twee databases. Voorbeeld:

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
antwoordde op 05/08/2008 om 14:48
bron van user

stemmen
0

Ik denk van de bovenkant van mijn hoofd hier. Als u laadt zowel gegevenstabellen dezelfde datasets, en definieert een relatie tussen de beide boven SKU, en vervolgens een query op de dataset die het gewenste resultaat oplevert.

antwoordde op 05/08/2008 om 14:24
bron van user

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more