Wie filtern und kombinieren 2 Datensätze in C #

stimmen
7

Ich bin den Aufbau einer Web-Seite, einen Kunden zu zeigen, welche Software sie gekauft und ihnen einen Link zu geben Download sagte Software. Leider auf die Daten, was gekauft wurde, und die Download-Informationen sind in separaten Datenbanken, so kann ich nicht nur darum kümmern mit in einer SQL-Abfrage verknüpft.

Der gemeinsame Artikel ist SKU. Ich werde eine Liste von SKUs vom Kunden bestellten Datenbank Strang ziehen und auf der Download - Tabelle ist ein Komma abgegrenzte Liste von SKUs mit diesem Download verbunden. Meine Absicht, im Moment ist von diesem einem Datentabelle erstellen zu füllen GridView.

Alle Vorschläge, wie dies zu tun effizient würden geschätzt. Wenn es hilft, kann ich ziemlich leicht , die Daten als ein zurückziehen DataSetoder ein DataReader, wenn einer für diesen Zweck besser wäre.

Veröffentlicht am 05/08/2008 um 14:17
quelle vom benutzer
In anderen Sprachen...                            


3 antworten

stimmen
2

Warum nicht einen Domain-Objekt basierten Ansatz für dieses Problem schaffen:

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

Es gibt eine Million Variationen zu diesem Thema, aber wenn Sie diese Angaben zusammenfassen, wäre es nicht einfacher sein zu präsentieren?

Beantwortet am 05/08/2008 um 15:06
quelle vom benutzer

stimmen
2

Solange die beiden Datenbanken auf demselben physischen Server (vorausgesetzt, MSSQL) und der Benutzername / Passwort im String-Verbindung verwendet werden Rechte an beiden DBs hat, dann sollten Sie in der Lage sein, eine über die beiden Datenbanken verbinden auszuführen. Beispiel:

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
Beantwortet am 05/08/2008 um 14:48
quelle vom benutzer

stimmen
0

Ich denke hier die Spitze von meinem Kopf ab. Wenn Sie sowohl als Datentabellen in den gleichen Datensatz laden, und eine Beziehung zwischen den beide über SKU definieren und dann eine Abfrage auf der Datensatz ausführen, die das gewünschte Ergebnis erzeugt.

Beantwortet am 05/08/2008 um 14:24
quelle vom benutzer

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