Usuário com melhor resposta
Nested DataSet

Pergunta
-
Fala Pessoal, tudo bem..??
Pessoal é o seguinte, tenho uma situação e não sei como sair dela.....seguinte:
Tenho uma tabela no banco com o IDUsuario e Nome do Usuario ( TB_Usuario) uma outra tabela relacionada a esta chamada TB_ProgUsuarios que contém os campos IDPrograma,IDUsuario,Programa. Um usuário pode ter varios programas.
A questão é, preciso mostrar em um repeater, o usuário e seus programas, como faço para juntar o resultado de duas consultas em um único dataset e mostrar no repeater..? Estou tentanto usar repeater aninhados e tal mas não to conseguindo aninhar os datasets . Alguém sabe coo fazer...????????
Abs
Respostas
-
Isso ocorre pq nem todos os registros da tabela Tb_ProgUsuarios q sua consulta retorna, tem um IDUsuario válido
- Marcado como Resposta x.programmer quarta-feira, 14 de abril de 2010 01:36
-
Isso ocorre porque nem todos os registros da tabela TB_ProgUsuarios que estão sendo lisados no seu select possuem um IDUsuario válido
- Marcado como Resposta x.programmer quarta-feira, 14 de abril de 2010 01:36
Todas as Respostas
-
DataRelation Tran_Detail = new DataRelation("ds", ds.Tables[0].Columns["TransID"], ds.Tables[1].Columns["TransID"]); ds.Relations.Add(Tran_Detail); ds.Nested = true;
Esse exemplo a cima retirei desse site http://www.knowdotnet.com/articles/datarelation.htmlAcho que isso resolverá seu problema é só trocar o nome das colunas para o nome das colunas que você quer vincular, mas qualquer coisa pesquisa sobre DataRelation.
-
Cara, não funcionou não. Olha meu código:
Dim strSQL As New System.Text.StringBuilder Dim strSQLProg As New System.Text.StringBuilder Dim da As SqlDataAdapter Dim daProg As SqlDataAdapter Dim ds As DataSet strSQL.Append("SELECT ") strSQL.Append("U.CODUSUARIO AS CODUSUARIO, ") strSQL.Append("U.NOME AS NOME, ") strSQL.Append("U.APELIDO AS APELIDO, ") strSQL.Append("U.EMAIL AS EMAIL, ") strSQL.Append("U.FOTO AS FOTO ") strSQL.Append("FROM ") strSQL.Append("dbo.vwUsuarios AS U ") strSQL.Append("WHERE ") strSQL.Append("U.INATIVO = 0 ") strSQL.Append(" AND U.CODPERFIL = " + usrto.usuarioPerfil.ToString()) If usrto.codEstado <> 0 Then strSQL.Append(" AND U.CODESTADO = " + usrto.codEstado.ToString()) End If If usrto.codCidade <> 0 Then strSQL.Append(" AND U.CODCIDADE = " + usrto.codCidade.ToString()) End If If usrto.codCidade <> 0 Then strSQL.Append(" AND U.BAIRRO = '" + usrto.Bairro.ToString() + "'") End If conn.Open() ds = New DataSet da = New SqlDataAdapter(strSQL.ToString(), conn) da.Fill(ds, "user") strSQLProg.Append("SELECT ") strSQLProg.Append("P.CODUSUARIO AS CODUSUARIO, ") strSQLProg.Append("P.CODPROGRAMA AS CODPROGRAMA, ") strSQLProg.Append("P.PROGRAMA AS PROGRAMA, ") strSQLProg.Append("'busca_yes.png' AS IMAGEM ") strSQLProg.Append("FROM ") strSQLProg.Append("vwHistoricos AS P ") strSQLProg.Append("WHERE ") strSQLProg.Append("P.CODUSUARIO IS NOT NULL ") strSQLProg.Append(" AND P.INATIVO = 0 ") daProg = New SqlDataAdapter(strSQLProg.ToString(), conn) daProg.Fill(ds, "prog") ds.Relations.Add("myrelation", _ ds.Tables("user").Columns("CODUSUARIO"), _ ds.Tables("prog").Columns("CODUSUARIO")) Return ds
Não sei mais o que fazer.....tem como dar um help ai..?
Abs
-
-
-
Dá uma olhada neste link, veja se te ajuda:
-
Cara, segui o link que você recomendou ( e muitos outros) mas ocorre o seguinte erro:
"Esta restrição não pode ser ativada porque nem todos os valores possuem valores pai correspondentes."
Você sabe o por que disso..?? Já to ficando desesperado aqui....rsrs
Abs
-
Isso ocorre porque nem todos os registros da tabela TB_ProgUsuarios que estão sendo lisados no seu select possuem um IDUsuario válido
- Marcado como Resposta x.programmer quarta-feira, 14 de abril de 2010 01:36
-
Isso ocorre pq nem todos os registros da tabela Tb_ProgUsuarios q sua consulta retorna, tem um IDUsuario válido
- Marcado como Resposta x.programmer quarta-feira, 14 de abril de 2010 01:36
-