Ir para conteúdo
Fórum Script Brasil
  • 0

Gravando NULL no BANCO (VB 2010 + SQL SERVER 2008 R2)


Diego Felipe

Pergunta

Estou alterando um sistema que eu tinha construido anteriormente, na minha tela de cadastro de clientes, preciso alterar alguns campos pra que eles não sejam mais obrigatórios, fiz isso no banco, setei as colunas da tabela de cliente para null, mas agora estou com um problema:

Me parece que as procedures não aceitam receber valores vazios e gravar no banco, preciso de alguma solução que permita que eu receba as informacoes dos campos do vb mesmo vazias e grave null no banco. Eu entrei no sql server e vi que se eu rodar a procedure manualmente, tenho a opção de passar nulo nos campos, mas como fazer isso via VB + SQL?

veja um trecho do código onde eu passo os parametros pra uma operacao chamada SALVA_REGISTRO ()

Public Sub salva_registro()
        Try
            util.bd.SP_I_APL_ENDERECO(Me.cboEstado.Text, Me.txtCidade.Text, Me.txtBairro.Text, Me.txtRua.Text, Me.txtNumero.Text, Me.mskCep.Text)
            Dim codigoEnd = util.bd.fs_c_apl_endereco
            util.bd.SP_I_APL_PESSOA(Me.txtNomeCliente.Text, codigoEnd, Me.mskTelefone.Text, Me.txtEmailCliente.Text, Me.mskRg.Text, Me.mskCpf.Text)
            Dim codigoPes = util.bd.fs_c_apl_pessoa
            MsgBox("Dados Gravados com Sucesso!")
            util.bd.SP_I_APL_CLIENTE(codigoPes)
            util.bd.SP_S_APL_CLIENTEFULL()

        Catch ex As Exception
            MsgBox("Ocorreu um erro ao salvar: Os Campos obrigatórios estão vazios! " & ex.Message, _
            MsgBoxStyle.Critical, "Erro ao Salvar")
        End Try
    End Sub

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Diego, no caso você vai ter que fazer testes de valores para cada TextBox seu.

Dim strEstado,
      strCidade,
      strBairro,
      strRua,
      strNumero,
      strCEP,
      strNomeCliente,
      strCodigoEnd,
      strTelefone,
      strEmail,
      strCPF,
      strRG As String

strEstado = Me.cboEstado.Text

If Me.txtCidade.Text.Trim = "" Then
    strCidade = "NULL"
Else
    strCidade = Me.txtCidade.Text
End If

...
'E os demais campos

'Se tiver algum campo vazio, a variável correspondente ao TextBox agora tem como valor o texto NULL.
util.bd.SP_I_APL_ENDERECO(strEstado, strCidade, strBairro, strRua, strNumero, strCEP)

Link para o comentário
Compartilhar em outros sites

  • 0
Diego, no caso você vai ter que fazer testes de valores para cada TextBox seu.

Dim strEstado,
      strCidade,
      strBairro,
      strRua,
      strNumero,
      strCEP,
      strNomeCliente,
      strCodigoEnd,
      strTelefone,
      strEmail,
      strCPF,
      strRG As String

strEstado = Me.cboEstado.Text

If Me.txtCidade.Text.Trim = "" Then
    strCidade = "NULL"
Else
    strCidade = Me.txtCidade.Text
End If

...
'E os demais campos

'Se tiver algum campo vazio, a variável correspondente ao TextBox agora tem como valor o texto NULL.
util.bd.SP_I_APL_ENDERECO(strEstado, strCidade, strBairro, strRua, strNumero, strCEP)

Olá, obrigado por ajudar, mas eu consegui resolver setando para 0 um campo numerico que estava recebendo string e por isso não estava permitindo gravar no banco, dai eu verifiquei, o campo está vazio? se estiver sete 0 antes de gravar no banco rsrs. Muito Obrigado mesmo assim!

Alias, como faço pra marcar o tópico como resolvido?

Link para o comentário
Compartilhar em outros sites

  • 0

Legal que conseguiu resolver :)

Marcar como resolvido não tem. Você pode pegar seu primeiro post deste tópico, editar e colocar no título [Resolvido]. Isso ajuda o pessoal que pesquisa no Google a entrar diretamente aqui, caso tenha a mesma dúvida que a sua.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...