Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ilano

Inserts usando parâmetros

Recommended Posts

Olá pessoal,

 

Estou tentando fazer uma inclusão usando o banco SQL Server.

Em minha aplicação aspx estou usando o seguinte comando, mas não está dando certo:

 

Dim SQL As New System.Text.StringBuilder

Dim Ds As New Data.DataSet

Dim Cm As New SqlCommand

Dim Cx As New SqlConnection

Dim Da As New SqlDataAdapter

 

SQL.Append(" INSERT INTO TB_Candidatos ")

SQL.Append(" (Cand_Nome, Cand_Endereco, Cand_Bairro, Cand_Cep, ")

SQL.Append(" Cand_Complemento, Cand_Sexo, Cand_RG, Cand_CPF, ")

SQL.Append(" Cand_DataDeEmissao, Cand_EstadoCivil, Cand_OrgaoEmissor, ")

SQL.Append(" Cand_Reservista, Cand_Nascimento, Cand_Pai, Cand_Mae, ")

SQL.Append(" Cand_Titulo, Cand_Fone, Cand_Data, Cand_Zona, Cand_Sessao, ")

SQL.Append(" Cid_CodigoNatual, Cid_CodigoResidencia, Cand_Nacionalidade, ")

SQL.Append(" Cand_Email, Cand_ZonaResidencia, Cand_Celular, Mem_Codigo, ")

SQL.Append(" Ren_Codigo, Cand_Escola, Cand_Observacao, Cand_OrdemCadastro, Ud_Codigo) ")

SQL.Append(" VALUES (@Nome, @Endereco, @Bairro, @Cep, @Complemento, @Sexo, @RG,)")

SQL.Append("@CPF, @DtEmissao, @EstCivil, @OrgEmissor, @Reservista, @Nascimento,")

SQL.Append("@Pai, @Mae, @Titulo, @Fone, @DtCadastro,@Zona, @Sessao, @CidNatural,")

SQL.Append("@CidResidencia, @Nacionalidade, @Email, @ZonaRes, @Celular, @Membro,")

SQL.Append("@Renda, @Escola, @Observacao, @Ordem, @Unidade)")

 

With Cm.Parameters

.Add(New SqlParameter("@Nome", UCase(Trim(TxtNome.Text))))

.Add(New SqlParameter("@Endereco", UCase(Trim(TxtEndereco.Text))))

.Add(New SqlParameter("@Bairro", UCase(Trim(TxtEndereco.Text))))

.Add(New SqlParameter("@Cep", TxtCep.Text))

.Add(New SqlParameter("@Complemento", UCase(Trim(TxtComplemento.Text))))

.Add(New SqlParameter("@Sexo", DDLSexo.SelectedValue))

.Add(New SqlParameter("@RG", UCase(Trim(TxtRg.Text))))

.Add(New SqlParameter("@CPF", TxtCPF.Text))

.Add(New SqlParameter("@DtEmissao", TxtDataDeEmissao.Text))

.Add(New SqlParameter("@EstCivil", DDLEstadoCivil.SelectedValue))

.Add(New SqlParameter("@OrgEmissor", UCase(Trim(TxtOrgaoEmissor.Text))))

.Add(New SqlParameter("@DtNascimento", TxtNascimento.Text))

.Add(New SqlParameter("@Pai", UCase(Trim(TxtPai.Text))))

.Add(New SqlParameter("@Mae", UCase(Trim(TxtMae.Text))))

.Add(New SqlParameter("@Titulo", Trim(TxtTitulo.Text)))

.Add(New SqlParameter("@Fone", UCase(Trim(TxtTelefone.Text))))

.Add(New SqlParameter("@DtCadastro", LbData.Text))

.Add(New SqlParameter("@Zona", TxtZona.Text))

.Add(New SqlParameter("@Sessao", TxtSessao.Text))

.Add(New SqlParameter("@CidNatural", DDLNaturalidade.SelectedValue))

.Add(New SqlParameter("@CidResidencia", DDLMunicipio.SelectedValue))

.Add(New SqlParameter("@Nacionalidade", DDLNacionalidade.SelectedValue))

.Add(New SqlParameter("@Email", LCase(Trim(TxtEmail.Text))))

.Add(New SqlParameter("@ZonaRes", DDLZona.SelectedValue))

.Add(New SqlParameter("@Celular", UCase(Trim(TxtCelular.Text))))

.Add(New SqlParameter("@Membro", DDLMembroDaFamilia.SelectedValue))

.Add(New SqlParameter("@Renda", DDLRendaFamiliar.SelectedValue))

.Add(New SqlParameter("@Escola", DDLEscola.SelectedValue))

.Add(New SqlParameter("@Observacao", UCase(Trim(TxtObservacao.Text))))

.Add(New SqlParameter("@Ordem", LbOrdem.Text))

.Add(New SqlParameter("@Unidade", DDLUnidades.SelectedValue))

End With

 

Cx.ConnectionString = ConfigurationSettings.AppSettings("cStrConexao")

Cm.Connection = Cx

Cm.CommandText = SQL.ToString

Cx.Open()

Cm.ExecuteNonQuery()

Cx.Close()

Tentei mudar a parte do script dos parâmetros para o script abaixo, pois li em um site que se não informar o tipo o campo data ficará sempre gravado no banco como 01/01/1900, mas dá a mensagem:

The SqlParameterCollection only accepts non-null SqlParameter type objects, not Boolean objects.

 

With Cm.Parameters

.Add(New SqlParameter("@Nome", Data.SqlDbType.VarChar).Value = UCase(Trim(TxtNome.Text)))

.Add(New SqlParameter("@Endereco", Data.SqlDbType.VarChar).Value = UCase(Trim(TxtEndereco.Text)))

.Add(New SqlParameter("@Bairro", Data.SqlDbType.VarChar).Value = UCase(Trim(TxtEndereco.Text)))

.Add(New SqlParameter("@Cep", Data.SqlDbType.VarChar).Value = TxtCep.Text)

.Add(New SqlParameter("@Complemento", Data.SqlDbType.VarChar).Value = UCase(Trim(TxtComplemento.Text)))

.Add(New SqlParameter("@Sexo", Data.SqlDbType.VarChar).Value = DDLSexo.SelectedValue)

.Add(New SqlParameter("@RG", Data.SqlDbType.VarChar).Value = UCase(Trim(TxtRg.Text)))

.Add(New SqlParameter("@CPF", Data.SqlDbType.VarChar).Value = TxtCPF.Text)

.Add(New SqlParameter("@DtEmissao", Data.SqlDbType.DateTime).Value = TxtDataDeEmissao.Text)

.Add(New SqlParameter("@EstCivil", Data.SqlDbType.VarChar).Value = DDLEstadoCivil.SelectedValue)

.Add(New SqlParameter("@OrgEmissor", Data.SqlDbType.VarChar).Value = UCase(Trim(TxtOrgaoEmissor.Text)))

.Add(New SqlParameter("@DtNascimento", Data.SqlDbType.DateTime).Value = TxtNascimento.Text)

.Add(New SqlParameter("@Pai", Data.SqlDbType.VarChar).Value = UCase(Trim(TxtPai.Text)))

.Add(New SqlParameter("@Mae", Data.SqlDbType.VarChar).Value = UCase(Trim(TxtMae.Text)))

.Add(New SqlParameter("@Titulo", Data.SqlDbType.VarChar).Value = Trim(TxtTitulo.Text))

.Add(New SqlParameter("@Fone", Data.SqlDbType.VarChar).Value = UCase(Trim(TxtTelefone.Text)))

.Add(New SqlParameter("@DtCadastro", Data.SqlDbType.DateTime).Value = LbData.Text)

.Add(New SqlParameter("@Zona", Data.SqlDbType.Int).Value = TxtZona.Text)

.Add(New SqlParameter("@Sessao", Data.SqlDbType.Int).Value = TxtSessao.Text)

.Add(New SqlParameter("@CidNatural", Data.SqlDbType.Int).Value = DDLNaturalidade.SelectedValue)

.Add(New SqlParameter("@CidResidencia", Data.SqlDbType.Int).Value = DDLMunicipio.SelectedValue)

.Add(New SqlParameter("@Nacionalidade", Data.SqlDbType.VarChar).Value = DDLNacionalidade.SelectedValue)

.Add(New SqlParameter("@Email", Data.SqlDbType.VarChar).Value = LCase(Trim(TxtEmail.Text)))

.Add(New SqlParameter("@ZonaRes", Data.SqlDbType.Int).Value = DDLZona.SelectedValue)

.Add(New SqlParameter("@Celular", Data.SqlDbType.VarChar).Value = UCase(Trim(TxtCelular.Text)))

.Add(New SqlParameter("@Membro", Data.SqlDbType.Int).Value = DDLMembroDaFamilia.SelectedValue)

.Add(New SqlParameter("@Renda", Data.SqlDbType.Int).Value = DDLRendaFamiliar.SelectedValue)

.Add(New SqlParameter("@Escola", Data.SqlDbType.VarChar).Value = DDLEscola.SelectedValue)

.Add(New SqlParameter("@Observacao", Data.SqlDbType.VarChar).Value = UCase(Trim(TxtObservacao.Text)))

.Add(New SqlParameter("@Ordem", Data.SqlDbType.Int).Value = LbOrdem.Text)

.Add(New SqlParameter("@Unidade", Data.SqlDbType.Int).Value = DDLUnidades.SelectedValue)

End With

Vcs podem me ajudar a resolver esse problema? Preciso apenas disto para concluir a parte de cadastros, pois como nos outros cadastros não existem campos do tipo data, fiz os inserts concatenando os scripts com os campos (TextBox, DropDownLists, ...)

 

Grato,

 

Ilano.

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloca um datasource somente para fazer ah conecçao com o banco de dados, e tenta assim : SqlDataSource1.InsertParameters.Clear();SqlDataSource1.InsertParameters.Add("grava dados");SqlDataSource1.Insert();

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.