none
Duvidas ao jogar NULL em campos de formulário. RRS feed

  • Pergunta

  • Fala ai galera blz sou novato em asp net estou com uma dúvida que desde cedo não consigo resposta pois bem vamos lá...... tenho um formulario com 6 campos se eu não preencher 3 campos quero jogar null no banco de dados sem erro, estou fazendo assim:

     public void IncluirCliente(Cliente pCliente)
            {
                try
                {

                    using (SqlConnection conexaoBanco = new SqlConnection(Properties.Settings.Default.CONN))
                    {
                        conexaoBanco.Open();
                        string strsql = "INSERT INTO TB_AND_CLIENTES (nm_cliente, dt_nascimento, num_documento, nm_endereco_cliente, nm_bairro, seq_estado, tel_res, tel_cel, nm_email, nm_pontoRef) VALUES (@TextNomeClie, @TextDtNascClie, @TextRG, @TextEndereco, @TextBairro, @DropDownEstado, @TextTelefoneRes, @TextTelefoneCel, @TextEmail, @TextPontodeRef)";
                        SqlCommand comando = new SqlCommand(strsql, conexaoBanco);

                        SqlParameter parametro = new SqlParameter("@TextNomeClie", SqlDbType.VarChar, 50);

                        if (pCliente.Nome == string.Empty)
                        {
                            parametro.Value = null;
                        }
                        else
                        {
                            parametro.Value = pCliente.Nome;
                        }

                        parametro = new SqlParameter("TextDtNascClie", SqlDbType.DateTime);
                        if (pCliente.DataNasc == string.Empty)
                        {
                            parametro.Value = null;
                        }
                        else
                        {
                            parametro.Value = pCliente.DataNasc;
                        }

                        parametro = new SqlParameter("@TextRG", SqlDbType.VarChar, 50);
                        if (pCliente.NumRg == 0)
                        {
                            parametro.Value = null;
                        }
                        else
                        {
                            parametro.Value = pCliente.NumRg;

                        }
    comando.Parameters.Add(parametro);
                        comando.ExecuteNonQuery();

                        conexaoBanco.Close();
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }

            }

    só que está dando erro não estou conseguindo por favor me ajudem......
    terça-feira, 24 de março de 2009 15:19

Respostas

  • Olá...

    Tente seguir o seguinte modelo:

    1 if (pCliente.Nome == string.Empty)   
    2 {  
    3     parametro.Value = DBNull.Value;  
    4 }  
    5 else 
    6 {  
    7     parametro.Value = pCliente.Nome;  
    8

    Abraços
    Thiago J. Mônaco
    terça-feira, 24 de março de 2009 16:47
    Moderador
  • Fala rapaz. Td bem?

    Coloca DBNull.Value.

    Atenciosamente,

    Rafael Cabral
    terça-feira, 24 de março de 2009 17:06

Todas as Respostas

  • Olá...

    Tente seguir o seguinte modelo:

    1 if (pCliente.Nome == string.Empty)   
    2 {  
    3     parametro.Value = DBNull.Value;  
    4 }  
    5 else 
    6 {  
    7     parametro.Value = pCliente.Nome;  
    8

    Abraços
    Thiago J. Mônaco
    terça-feira, 24 de março de 2009 16:47
    Moderador
  • Olá Thiago,

    então eu tentei colocar o DBNULL como vc pediu....porém antes eu já tinha colocado o .Dot net me informa que 

    "'System.DBNull' is a 'type' but is used like a 'variable'" a seguinte mensagem.
    terça-feira, 24 de março de 2009 16:59
  • Fala rapaz. Td bem?

    Coloca DBNull.Value.

    Atenciosamente,

    Rafael Cabral
    terça-feira, 24 de março de 2009 17:06
  • Obrigado Rafael

    Deu certo!!!!!


    Um grande Abraço kkk
    terça-feira, 24 de março de 2009 17:14