1
resposta

INSERT INTO com muitos campos

Boa tarde! Tenho uma aplicação em VB.Net conectada a um banco de dados SQL Server. No momento de salvar os dados da aplicação no banco utilizo o comando INSERT INTO, porém tenho vários campos e vários valores, de forma que o comando fica gigante, como vocês podem ver abaixo... Afinal, não existe um meio de melhorar isso? Imagino que seja possível fazer uma Sub que constrói, em outro bloco, todo este comando SQL... mas como sou iniciante não consigo enxergar nenhuma solução.. alguém consegue dar uma luz ai?

            Dim Comando As String = "INSERT INTO Aluno (" + "NomeCompleto,CPF,DataNascimento,RG,SituacaoMatricula,Sexo,Altura," +
            "Peso,ImagemAutorizada,PaisNasc,EstadoNasc,CidadeNasc,AutorizadosRetirar,Obs,CPF_Responsavel1,CPF_Responsavel2," +
            "TipoSangue,PlanoSaude,Pediatra,ProblemaSaude,CuidadoNecessario,MedRegular,RemedioFebre,AlergiaMedicamento," +
            "AlergiaInseto,AlergiaAlimento,EmCasoAlergia,SonoPosicao,SonoObjeto,SonoHorario,AliCarne,AliFrutas,AliMassas,AliVerduras," +
            "AliRestricoes,ComeRegular,LazBrincadeira,LazDiversao,LazAtividade,SituacaoResidencia,TipoResidencia," +
            "PessoasResidencia,MeioTransporte,SituacaoAutomovel,UltimaEscola,ComoConheceu,Indicacao,NomeEmergencia," +
            "TelEmergencia,TelResidencia,Pais,UF,Cidade,Bairro,Endereco,Complemento,CEP,NomeNFS,NomeBoleto,DataVencimento,FormaPgto" + ")" +

             "VALUES ('" + AlunoNovo.NomeCompleto + "','" + AlunoNovo.CPF + "','" + AlunoNovo.DataNascimento + "','" +
             AlunoNovo.RG + "','" + AlunoNovo.SituacaoMatricula.ToString + "','" + AlunoNovo.Sexo + "'," + AlunoNovo.Altura + "," +
             AlunoNovo.Peso + "," + AlunoNovo.ImagemAutorizada + ",'" + AlunoNovo.PaisNasc + "','" + AlunoNovo.EstadoNasc + "','" +
             AlunoNovo.CidadeNasc + "','" + AlunoNovo.AutorizadosRetirar + "','" + AlunoNovo.Obs + "','" + AlunoNovo.Responsavel1.CPF + "','" +
             AlunoNovo.Responsavel2.CPF + "','" + AlunoNovo.TipoSangue + "','" + AlunoNovo.PlanoSaude + "','" + AlunoNovo.Pediatra + "','" +
             AlunoNovo.ProblemaSaude + "','" + AlunoNovo.CuidadoNecessario + "','" + AlunoNovo.MedRegular + "','" +
             AlunoNovo.RemedioFebre + "','" + AlunoNovo.AlergiaMedicamento + "','" + AlunoNovo.AlergiaInseto + "','" +
             AlunoNovo.AlergiaAlimento + "','" + AlunoNovo.EmCasoAlergia + "','" + AlunoNovo.SonoPosicao + "','" +
             AlunoNovo.SonoObjeto + "','" + AlunoNovo.SonoHorario + "','" + AlunoNovo.AliCarne + "','" + AlunoNovo.AliFrutas + "','" +
             AlunoNovo.AliMassas + "','" + AlunoNovo.AliVerduras + "','" + AlunoNovo.AliRestricoes + "','" + AlunoNovo.ComeRegular + "','" +
             AlunoNovo.LazBrincadeira + "','" + AlunoNovo.LazDiversao + "','" + AlunoNovo.LazAtividade + "','" +
             AlunoNovo.SituacaoResidencia + "','" + AlunoNovo.TipoResidencia + "'," + AlunoNovo.PessoasResidencia + ",'" +
             AlunoNovo.MeioTransporte + "','" + AlunoNovo.SituacaoAutomovel + "','" + AlunoNovo.UltimaEscola + "','" +
             AlunoNovo.ComoConheceu + "','" + AlunoNovo.Indicacao + "','" + AlunoNovo.NomeEmergencia + "','" +
             AlunoNovo.TelEmergencia + "','" + AlunoNovo.TelResidencia + "','" + AlunoNovo.Pais + "','" +
             AlunoNovo.UF + "','" + AlunoNovo.Cidade + "','" + AlunoNovo.Bairro + "','" + AlunoNovo.Endereco + "','" +
             AlunoNovo.Complemento + "','" + AlunoNovo.CEP + "','" + AlunoNovo.NomeNFS + "','" + AlunoNovo.NomeBoleto + "'," +
             AlunoNovo.DataVencimento + ",'" + AlunoNovo.FormaPgto + "');"
1 resposta

Olá Kevin, como vai?

Sentimos muito pela demora em te retornar.

Infelizmente não temos muito pra onde ir, em relação a diminuição de código. O que percebi é que temos muitas atribuições em um único lugar.

Por exemplo: Estamos trazendo informações de nome e documentação, junto com endereco e saude do aluno. Poderíamos de alguma forma criar outras classes para isso; por mais que essas informações façam parte de um único formulário, para uma melhor organização de código seria algo muito viável.

O que acha? De alguma forma faz sentido?

Aguardo retorno.

Abraços