Array
(
)

Salvar dados em duas ou mais tabelas simultaneamente

Randrade
   - 18 nov 2014

Olá pessoal,
Sou novo no forum e novo na programação também.
Estou desenvolvendo um projeto em Asp.Net, onde necessito desenvolver um questionário( com mais de 100 perguntas estáticas), e neste questionário eu possuo 9 entidades que contém os atributos no banco.
Gostaria de uma dica, de como desenvolver este questionário, da forma que o usuário possa preencher todos os campos(de todas as 9 entidades) e salvar quando o mesmo clicar no botão "Concluir".
Ou eu transformo as 9 entidades em apenas 9 no meu banco?( o que acho que não seria viável)
Estou desenvolvendo em Asp.Net.

Din
|
MVP
Pontos: 45
    18 nov 2014

Renilson, não entendi direito porque as 9 entidades. Existem atributos diferentes para cada pergunta? existem várias respostas para cada pergunta? tem como modelar no desenho o formato de suas tabelas para entender melhor a situação?

Randrade
   - 18 nov 2014

Me espressei mal. Deixe eu explicar melhor.

O projeto é desenvolver um software de Cadastro Rural, onde deverá conter dados da propriedade, do proprietario, dos animais que o proprietário possui, da renda, etc. Com isso possuo 9 entidades.
Mas me foi solicitado para fazer de forma que parecesse um questionário, ou seja, cada campo será preenchido como uma pergunta de um questionário, e no final deverá salvar no banco.

Posso juntar todos os campos em uma tabela e fazer fácil, mas assim vai contra a Normalização.

Fiz um modelo resumido apenas para demonstrar melhor.
Clique na imagem para abrir em uma nova janela

Din
|
MVP
Pontos: 45
    18 nov 2014

Bom agora deu para entender.....

vou lhe dar a minha opinião ok....

você pode fazer cada formulário por tema (os 9) e apenas um botão para salvar.. dando a impressão de que tudo pertence a um formulário apenas. Neste botão, você coloca uma ação para cada entidade (tema) fazendo as validações separadamente, assim você consegue salvar em cada tabela.

Uma outra adaptação seria de carregar cada formulário de cada vez... mas na mesma forma acima.

Randrade
   - 18 nov 2014

Você teria algum exemplo de como fazer isso? Pesquisei no google e no fórum e não encontrei nada que me ajudasse.
Ou o termo técnico que eu possa usar nas pesquisas, já ajuda.

Din
|
MVP
Pontos: 45
    18 nov 2014

partindo do ponto em que você já exibiu os formulários, fez a validação dos campos obrigatórios e regra de negócio....

1 - > crie uma função em javascript que resgate todas as variáveis (inputs) do seu formulário.
2 - > após a validação use o ajax post para enviar o primeiro formulário Saiba mais sobre o ajax
3 -> após a gravação do primeiro formulário, automaticamente starta o segundo input e assim sucessivamente

Não tenho como lhe explicar melhor a utilização do ajax no asp...

Jothaz
   - 18 nov 2014


Citação:
Você teria algum exemplo de como fazer isso? Pesquisei no google e no fórum e não encontrei nada que me ajudasse.
Ou o termo técnico que eu possa usar nas pesquisas, já ajuda.


Veja se este link lhe ajuda:

http://www.macoratti.net/07/05/aspn_ucw.htm

Randrade
   - 18 nov 2014

Irei pesquisar sobre o assunto, obrigado pela ajuda!