SQL entre datatables
09/07/2008
0
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!
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!
Zecarlos13
Curtir tópico
+ 0
Responder
Posts
14/08/2008
Aleph
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);
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);
Responder
Clique aqui para fazer login e interagir na Comunidade :)