Usuário com melhor resposta
Povoar uma tabela 3 trazendo IDs das tabelas 1 e 2

Pergunta
-
Pessoal, tenho uma estrutura com 3 tabelas:
1-usuario
2-departamento
3-permissao_usuario_departamento (id_usuario, id_departamento, permissao)
De que forma posso "povoar" a tabela 3 de acordo com as outras duas tabelas?
por ex: supondo que tenho 2 usuários e 3 departamentos;
Cada registro da tabela 3 terá o id_usuario e id_departamento automaticamente de acordo com a os registros vindos das tabelas 1 e 2.
Teoricamente seria fácil, usando uma estrutura de repetição (for, while, ...) dentro de outra, pra fazer isso. Porem, o problema eh que to usando sqlDataReader e ele não tem moveFist() pra voltar ao começo depois da primeira "passada", dai ele passa pela tabela 2 apenas uma vez.
Alguém tem uma sábia ideia?
Obrigado.
Respostas
-
Luzianio, sairia um custo computacional grande mais em cada registro lido do datareader vc faria uma consulta nas outras tabelas para pegar os ID delas e gravar na terceira tabela, ou dependendo da situação se por exemplo vc popular os dados em um gridview para cada linha vc colocaria o id das outras tabelas em um campo visible = false, e percorreria o gridview e com findcrontrol pegaria o id dos campos visibel = false e gravaria na tabela 3.
Mais o melhor é já trazer os ID´s das outras tabelas assim o custo computacional seria bem menor.
Junior
- Marcado como Resposta Giovani Cr segunda-feira, 7 de outubro de 2013 17:31
Todas as Respostas
-
Luzianio, sairia um custo computacional grande mais em cada registro lido do datareader vc faria uma consulta nas outras tabelas para pegar os ID delas e gravar na terceira tabela, ou dependendo da situação se por exemplo vc popular os dados em um gridview para cada linha vc colocaria o id das outras tabelas em um campo visible = false, e percorreria o gridview e com findcrontrol pegaria o id dos campos visibel = false e gravaria na tabela 3.
Mais o melhor é já trazer os ID´s das outras tabelas assim o custo computacional seria bem menor.
Junior
- Marcado como Resposta Giovani Cr segunda-feira, 7 de outubro de 2013 17:31
-
Cara, nao sei se entendi direito mas se vc usou as keys certinho faz assim:
select Tabela_Usuario.Nome, Tabela_Departamento.Departamento from Tabela_3 inner join Tabela_Usuario on (Tabela_Usuario.ID = Tabela_3.ID_Tabela_Usuario) Inner join Tabela_Departamente on (Tabela_Departamento.ID = Tabela_3.ID_Tabela_Departamento)
é isso que você quer? Se for marque como útil, vlw.