Domanda

Sto costruendo una pagina Web per mostrare a un cliente quale software ha acquistato e per fornirgli un collegamento per scaricare tale software.Sfortunatamente, i dati su ciò che è stato acquistato e le informazioni sul download si trovano in database separati, quindi non posso occuparmene semplicemente con i join in una query SQL.

L'articolo comune è SKU.Estrarrò un elenco di SKU dal database degli acquisti dei clienti e nella tabella di download sarà presente un elenco delimitato da virgole di SKU associati a tale download.La mia intenzione, al momento, è quella di creare da questo un datatable per popolare un GridView.

Eventuali suggerimenti su come farlo in modo efficiente sarebbero apprezzati.Se aiuta, posso facilmente recuperare i dati come a DataSet o a DataReader, se uno dei due sarebbe migliore per questo scopo.

Nessuna soluzione corretta

Altri suggerimenti

Finché i due database si trovano sullo stesso server fisico (presupponendo MSSQL) e il nome utente/password utilizzati nella stringa di connessione hanno diritti su entrambi i DB, dovresti essere in grado di eseguire un join tra i due database.Esempio:

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

Perché non creare un approccio basato su oggetti di dominio a questo problema:

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

Esistono milioni di varianti al riguardo, ma una volta aggregate queste informazioni, non sarebbe più semplice presentarle?

Sto pensando dalla cima della mia testa qui.Se carichi entrambi come tabelle di dati negli stessi set di dati e definisci una relazione tra i due su SKU, quindi esegui una query sul set di dati che produce il risultato desiderato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top