Inquiridor
Relacionamento com XML

Pergunta
-
Bom dia pessoal,
eu estou pegando dados de arquivos xml para alimentar meus objetos combobox.
Pois então...para relacionamentos entre tabelas 1:N, eu utilizava um filtro toda vez que o combobox "pai" tinha o valor alterado...
E como poderei relacionar uma tabela N:N?
Exemplo:
Eu possuo uma tabela chamada Peças e outra chamada Avarias.
Eu quero relacionar essas duas tabelas, dizendo que uma Avaria pertence a N peças e que 1 Peça pode possuir N avarias.
Então criei uma tabela chamada pecas_avarias que contém o idpeca e idavaria.
Eu quero que quando clicar no combobox de peças, me chame todas as avarias relacionadas a essa peça e jogue essas avarias em um combobox...
"desenhando" as tabelas para melhor entendimento:
PECAS
idpeca nome_peca
----------------------------------
1 VIDRO PARA BRISA
2 VIDRO TRASEIRO
3 CAPÔ
4 PORTA FRONTAL DIREITA
5 PORTA FRONTAL ESQUERDA
AVARIAS
idavaria nome_avaria
----------------------------------
1 RISCADO
2 AMASSADO
3 CORTADO
4 FURADO
5 FALTANTE
6 TRINCADO
PECAS_AVARIAS
idpeca idavaria
----------------------------------
1 1 (VIDRO PARABRISA - RISCADO)
1 6 (VIDRO PARABRISA - TRINCADO)
2 1 (VIDRO TRASEIRO - RISCADO)
2 6 (VIDRO TRASEIRO - TRINCADO)
3 1 (CAPO - RISCADO)
Ou Seja, se eu escolher no Combo Peças a peça PARA BRISA, ele me traria apenas as avarias RISCADO e TRINCADO...mesma coisa para vidro para brisa.
Já quando eu escolher Vidro Capo, ele me traria apenas a avaria Riscado.
Coloquei o exemplo da tabela para vocês entenderem melhor minha necessidade.- Movido Rogerio Jerez quinta-feira, 29 de outubro de 2009 15:59 Movido para o Fórum Apropriado (De:Fórum MSDN)
Todas as Respostas
-
-
Fale:
Olha esse link vai ajudar você a entender o uso do XML:
http://social.msdn.microsoft.com/Forums/pt-BR/aspnetpt/thread/943a7784-f3b2-4439-b465-9bf83fbce8d1
Depois conforme a condição que você tiver você faz um for no dataset se for viável é claro conforme a Listagem 1.
Listagem 1:
bool _flag = false;
for (int i = 0; i < DS.Tables["NomeTabela"].Rows.Count; i++)
{
_flag = (DS.Tables["NomeTabela"].Rows[i]["NomeColuna"].ToString() == Menu);
if (_flag)
{
//Colocar a lógica aqui
break;
}
}
return _flag;
Abraço!
Se a resposta solucionar sua dúvida, favor - Votar como Útil Abraço!- Sugerido como Resposta Erysson Souza sexta-feira, 6 de novembro de 2009 19:37
-
Só me tire uma dúvida qual a necessidade de ser em xml? pois se for na base isso e simples.
Opa Seilor,
Eu estou fazendo em XML pq esse meu sistema será implantado em pocketPC.
E o meu sistema win32 irá alimentar com dados os XML contidos no Pocket.
Eu não queria depender de base ou rede wireless para ter os dados atualizados no pocket.
E Erysson,
eu fiz algo +/- assim e deu certo.
obrigado.- Sugerido como Resposta Erysson Souza sexta-feira, 6 de novembro de 2009 19:37