Aquí podría ser tu PUBLICIDAD


Cómo filtrar y combinar 2 conjuntos de datos en C #

votos
7

Estoy construyendo una página web para mostrarle a un cliente qué software compró y para darle un enlace para descargar dicho software. Desafortunadamente, los datos sobre lo que se compró y la información de descarga se encuentran en bases de datos separadas, por lo que no puedo ocuparme de ellos con combinaciones en una consulta SQL.

El artículo común es SKU. Voy a sacar una lista de SKU de la base de datos de compras de clientes y en la tabla de descargas hay una lista delineada por comas de los SKU asociados con esa descarga. Mi intención, en este momento, es crear desde esta datatable para poblar a GridView.

Cualquier sugerencia sobre cómo hacer esto de manera eficiente sería apreciada. Si ayuda, puedo fácilmente recuperar los datos como DataSetao a DataReader, si alguno sería mejor para este propósito.

Publicado el 05/08/2008 a las 14:17
fuente por usuario saalon
En otros idiomas...        العربية       

3 respuestas

votos
2

¿Por qué no crear un enfoque basado en objetos de dominio para este 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...          
        }
    }
}

Hay un millón de variaciones sobre esto, pero una vez que agregue esta información, ¿no sería más fácil presentarla?

Respondida el 05/08/2008 a las 03:06
fuente por usuario Brett Veenstra


Aquí podría ser tu PUBLICIDAD


votos
2

Siempre que las dos bases de datos estén en el mismo servidor físico (asumiendo MSSQL) y el nombre de usuario / contraseña que se usa en la cadena de conexión tiene derechos para ambas bases de datos, entonces debería poder realizar una combinación entre las dos bases de datos. Ejemplo:

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
Respondida el 05/08/2008 a las 02:48
fuente por usuario Yaakov Ellis

votos
0

Estoy pensando en la parte superior de mi cabeza aquí. Si carga ambos como tablas de datos en los mismos conjuntos de datos, y define una relación entre los dos sobre SKU, y luego ejecuta una consulta en el conjunto de datos que produce el resultado deseado.

Respondida el 05/08/2008 a las 02:24
fuente por usuario Vaibhav