Usuário com melhor resposta
Visual Basic.Net - Tratamento para Combobox quando não teve item selecionado para gravar o NULL no campo da tabela do BD

Pergunta
-
Olá pessoal!
Por favor, me ajudem.
Preciso de fazer um tratamento nos objetos do tipo Combobox para quando não for selecionado nada seja setado o valor NULL para aplicar um update nos campos relacionados na tabela do banco de dados.
vejam, tentei fazer um tratamento com IIF, determinado se o valor não foi selecionado ou estiver em branco, set o valor NULL para ser aplicado o update.
mas não está funcionando, o valor atribuído no campo da tabela fica como em branco, vejam o exemplo da forma de pagamento:& "', [FORMAPAGAMENTO] = '" & IIf(cmbCondicaoPgto.SelectedIndex = -1, DBNull.Value, cmbCondicaoPgto.Text) _
segue o código por completo
Try
conn = New SqlConnection(Strcon)
conn.Open()
Dim str As String = "UPDATE [PEDIDOS] SET " _
& "[DATA] = '" & DataHoje _
& "', [HORA] = '" & RecebeHorario _
& "', [IDCLIENTE] = '" & txtIdCliente.Text _
& "', [TOTALITENS] = '" & lblTotalItens.Text _
& "', [VALORTOTAL] = '" & lblTotal.Text _
& "', [FORMAPAGAMENTO] = '" & IIf(cmbCondicaoPgto.SelectedIndex = -1, DBNull.Value, cmbCondicaoPgto.Text) _
& "', [TIPODESCONTO] = '" & cmbTipoDesconto.Text _
& "', [VALORDESCDADO] = '" & IIf(txtValorDesconto.Text = "", "0", txtValorDesconto.Text) _
& "', [VALORCALCDESCONTO] = '" & DBNull.Value _
& "', [VALORTOTALGERAL] = '" & lblTotalLiquido.Text _
& "', [CODFUNCCRIOUPEDIDO] = '" & DBNull.Value _
& "', [CODFUNCDESCONTODADO] = '" & DBNull.Value _
& "', [DATADESCDADO] = '" & DBNull.Value _
& "', [STATUSNEGOCIACAO] = '" & cmbStatusNegociacao.Text _
& "', [CONDICAOPGTO] = '" & cmbCondicaoPgto.Text _
& "', [VENCIMENOPGTO] = '" & txtDataVencimento.Text _
& "', [OBSDAPARCELA] = '" & IIf(txtObservacoesParcelas.Text = "", DBNull.Value, txtObservacoesParcelas.Text) _
& "', [TIPOPAGAMENTO] = '" & cmbTipoPgto.Text _
& "', [OBSERVACAO] = '" & IIf(txtObservacoes.Text = "", DBNull.Value, txtObservacoes.Text) _
& "' WHERE ([IDPEDIDO] = '" & Me.txtNumPedido.Text & "');" _
& "SELECT * FROM PEDIDOS WHERE IDCLIENTE = '" & Me.txtIdCliente.Text & "' and IDPEDIDO = '" & Me.txtNumPedido.Text & "'"
cmd = New SqlCommand(str, conn)
cmd.ExecuteNonQuery()
Catch ex As Exception
MsgBox(ex.Message)
Finally
conn.Dispose()
conn.Close()
End Try
Respostas
-
Bom dia.
Tente trocando .SelectedIndex = -1
por
.SelectedValue.ToString = ""
MARIANO1776
- Sugerido como Resposta Mariano1776 domingo, 14 de janeiro de 2018 19:42
- Marcado como Resposta Filipe B CastroModerator segunda-feira, 15 de janeiro de 2018 19:52
-
Boa tarde,
Por falta de retorno essa thread está encerrada.
Se necessário, favor abrir uma nova thread.
Atenciosamente,Filipe B de Castro
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
- Marcado como Resposta RP Neto quinta-feira, 1 de fevereiro de 2018 20:43
Todas as Respostas
-
Bom dia.
Tente trocando .SelectedIndex = -1
por
.SelectedValue.ToString = ""
MARIANO1776
- Sugerido como Resposta Mariano1776 domingo, 14 de janeiro de 2018 19:42
- Marcado como Resposta Filipe B CastroModerator segunda-feira, 15 de janeiro de 2018 19:52
-
Boa tarde,
Por falta de retorno essa thread está encerrada.
Se necessário, favor abrir uma nova thread.
Atenciosamente,Filipe B de Castro
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
- Marcado como Resposta RP Neto quinta-feira, 1 de fevereiro de 2018 20:43
-
-