Array
(
)

SQL entre datatables

Zecarlos13
   - 09 jul 2008

Bom dia pessoal,

Estou consumindo um webservice que me retorna um dataset com varias data tables.

Este webservice é terceirizado.

Preciso fazer links entre os datatables retornados por este Webservice, como se fosse um comando SQL.

Será que existe alguma forma de fazer isto? De linkar varias datatables ?

Desde já obrigado!

Aleph
   - 14 ago 2008

Existe sim amigo, o que voce esta procurando é o DataRelation, ele fez relacionamentos entre DataTables de um mesmo DataSet

Abaixo segue exemplo de como fazer um relacionamento entre duas tabelas:

SqlConnection con = new SqlConnection(SuaStringdeConexao);

string sqlEmployee = ´SELECT EmployeeID, LastName + ´, ´ + FirstName AS [Name] ´;
sqlEmployee += ´FROM dbo.Employees ORDER BY Name´;

string sqlTerritories = ´SELECT TerritoryID, TerritoryDescription FROM dbo.Territories´;

string sqlTEmployee = ´SELECT * FROM dbo.EmployeeTerritories´;

SqlDataAdapter daEmployee = new SqlDataAdapter(sqlEmployee, con);
SqlDataAdapter daTerritories = new SqlDataAdapter(sqlTerritories, con);
SqlDataAdapter daTEmployee = new SqlDataAdapter(sqlTEmployee, con);

DataSet ds = new DataSet();
daEmployee.Fill(ds, ´Empregados´);
daTerritories.Fill(ds, ´Territorios´);
daTEmployee.Fill(ds, ´TEmpregados´);

DataColumn colPai = ds.Tables[´Empregados´].Columns[´EmployeeID´];
DataColumn colFilho = ds.Tables[´TEmpregados´].Columns[´EmployeeID´];
DataRelation rel = new DataRelation(´RelTEmpregados´, colPai, colFilho);
ds.Relations.Add(rel);