LIMPAR CAMPOS
Tenho uma stored procedure em MYSQL, e tenho o seguinte problema, ela é executada toda vez que o campo [Ô]numero_gca[Ô] perde foco, até ai ela funciona normal, por exemplo eu digito um valor que tem na tabela ela pega normal, agora eu queria saber como que eu faço, que se caso ela não encontre nada o sistema me avise que não existe o registro cadastrado.
vo te mandar um geito que utilizo para ver se existe akele registro na tabela.
CL.open()
CL.executeQuery([Ô]select * from fluxoloja where CODIGO =[ô][Ô] & COD.Text & [Ô][ô][Ô])
Dim dt As Data.DataTable = CL.getResult
CL.close()
limpa_campos()
[txt-color=#e80000] [txt-size=2] [ô]verifica se o codigo existe se existir popula os campos[/txt-size][/txt-color]
If dt.Rows.Count = 1 Then
COD.Text = dt.Rows(0).Item([Ô]CODIGO[Ô]).ToString
VENDEDORF.Text = dt.Rows(0).Item([Ô]VENDEDOR[Ô]).ToString
DATAF.Text = Mid(dt.Rows(0).Item([Ô]DATA[Ô]).ToString, 1, 10)
CLIENTEF.Text = dt.Rows(0).Item([Ô]CLIENTE[Ô]).ToString
TELEFONEF.Text = dt.Rows(0).Item([Ô]TELEFONE[Ô]).ToString
EmailCliTxt.Text = dt.Rows(0).Item([Ô]EMAIL_CLI[Ô]).ToString
DataNascMask.Text = dt.Rows(0).Item([Ô]DATANASC_CLI[Ô]).ToString
MPossui.Text = dt.Rows(0).Item([Ô]MODELOQPOSSUI[Ô]).ToString
AnoMotoTxt.Text = dt.Rows(0).Item([Ô]ANOMOTO[Ô]).ToString
MODELOF.Text = dt.Rows(0).Item([Ô]MODELO[Ô]).ToString
MIDIAF.Text = dt.Rows(0).Item([Ô]MIDIA[Ô]).ToString
OBSERVACAOF.Text = dt.Rows(0).Item([Ô]OBSERVACAO[Ô]).ToString
MotivoReprov.Text = dt.Rows(0).Item([Ô]MOTIVO[Ô]).ToString
P_CONTATO.Text = dt.Rows(0).Item([Ô]P_CONTATO[Ô]).ToString
AprovReprovCombo.Text = dt.Rows(0).Item([Ô]APROVADA[Ô]).ToString
RetirouMotoCombo.Text = dt.Rows(0).Item([Ô]retirada[Ô]).ToString
BancoCombo.Text = dt.Rows(0).Item([Ô]banco[Ô]).ToString
ObsNaoRetiradaTxt.Text = dt.Rows(0).Item([Ô]RETIRADA_NAO[Ô]).ToString
CompraFuturaCombo.Text = dt.Rows(0).Item([Ô]CompraFutura[Ô]).ToString
DataPCompra.Text = dt.Rows(0).Item([Ô]DataPrevCompra[Ô]).ToString
ParcIdealTxt.Text = dt.Rows(0).Item([Ô]ParcIdeal[Ô]).ToString
MotoUsadaComoEntCombo.Text = dt.Rows(0).Item([Ô]MotoUsadaE[Ô]).ToString
FormaPagCombo.Text = dt.Rows(0).Item([Ô]FormaPag[Ô]).ToString
Else
[ô]se nao achar nada limpa o codigo que ta no cod.text
limpa_campos()
End If
CL.open()
CL.executeQuery([Ô]select * from fluxoloja where CODIGO =[ô][Ô] & COD.Text & [Ô][ô][Ô])
Dim dt As Data.DataTable = CL.getResult
CL.close()
limpa_campos()
[txt-color=#e80000] [txt-size=2] [ô]verifica se o codigo existe se existir popula os campos[/txt-size][/txt-color]
If dt.Rows.Count = 1 Then
COD.Text = dt.Rows(0).Item([Ô]CODIGO[Ô]).ToString
VENDEDORF.Text = dt.Rows(0).Item([Ô]VENDEDOR[Ô]).ToString
DATAF.Text = Mid(dt.Rows(0).Item([Ô]DATA[Ô]).ToString, 1, 10)
CLIENTEF.Text = dt.Rows(0).Item([Ô]CLIENTE[Ô]).ToString
TELEFONEF.Text = dt.Rows(0).Item([Ô]TELEFONE[Ô]).ToString
EmailCliTxt.Text = dt.Rows(0).Item([Ô]EMAIL_CLI[Ô]).ToString
DataNascMask.Text = dt.Rows(0).Item([Ô]DATANASC_CLI[Ô]).ToString
MPossui.Text = dt.Rows(0).Item([Ô]MODELOQPOSSUI[Ô]).ToString
AnoMotoTxt.Text = dt.Rows(0).Item([Ô]ANOMOTO[Ô]).ToString
MODELOF.Text = dt.Rows(0).Item([Ô]MODELO[Ô]).ToString
MIDIAF.Text = dt.Rows(0).Item([Ô]MIDIA[Ô]).ToString
OBSERVACAOF.Text = dt.Rows(0).Item([Ô]OBSERVACAO[Ô]).ToString
MotivoReprov.Text = dt.Rows(0).Item([Ô]MOTIVO[Ô]).ToString
P_CONTATO.Text = dt.Rows(0).Item([Ô]P_CONTATO[Ô]).ToString
AprovReprovCombo.Text = dt.Rows(0).Item([Ô]APROVADA[Ô]).ToString
RetirouMotoCombo.Text = dt.Rows(0).Item([Ô]retirada[Ô]).ToString
BancoCombo.Text = dt.Rows(0).Item([Ô]banco[Ô]).ToString
ObsNaoRetiradaTxt.Text = dt.Rows(0).Item([Ô]RETIRADA_NAO[Ô]).ToString
CompraFuturaCombo.Text = dt.Rows(0).Item([Ô]CompraFutura[Ô]).ToString
DataPCompra.Text = dt.Rows(0).Item([Ô]DataPrevCompra[Ô]).ToString
ParcIdealTxt.Text = dt.Rows(0).Item([Ô]ParcIdeal[Ô]).ToString
MotoUsadaComoEntCombo.Text = dt.Rows(0).Item([Ô]MotoUsadaE[Ô]).ToString
FormaPagCombo.Text = dt.Rows(0).Item([Ô]FormaPag[Ô]).ToString
Else
[ô]se nao achar nada limpa o codigo que ta no cod.text
limpa_campos()
End If
O problema é que o meu é uma Stored procedure, vou encaminhar meu código abaixo para vc analisar melhor:
Private Sub carrega_gca()
[ô]Dim conexao As MySql.Data.MySqlClient.MySqlConnection
Dim dr As MySql.Data.MySqlClient.MySqlDataReader
Dim cmdsql As MySql.Data.MySqlClient.MySqlCommand
Dim parametro As New MySql.Data.MySqlClient.MySqlParameter
[ô] conexao = New MySql.Data.MySqlClient.MySqlConnection([Ô]server=localhost;user id=altair;password=123;database=exemplo[Ô])
parametro.ParameterName = [Ô]vnumero_gca[Ô]
parametro.Value = numero_gca.Text
cmdsql = New MySql.Data.MySqlClient.MySqlCommand([Ô]sp_entradas_carvao[Ô], GetConexao1)
cmdsql.CommandType = CommandType.StoredProcedure
cmdsql.Parameters.Add(parametro)
[ô]Call GetConexao1()
[ô]conexao.Open()
[ô]GetConexao1.Open()
dr = cmdsql.ExecuteReader
Do While dr.Read
valor_motorista.Text = dr([Ô]valor_motorista[Ô])
nf_produtor_rural.Text = dr([Ô]nf_produtor_rural[Ô])
m3_nf_produtor_rural.Text = dr([Ô]m3_nf_produtor_rural[Ô])
Loop
Call Desconectar1()
End Sub
Obrigado
Private Sub carrega_gca()
[ô]Dim conexao As MySql.Data.MySqlClient.MySqlConnection
Dim dr As MySql.Data.MySqlClient.MySqlDataReader
Dim cmdsql As MySql.Data.MySqlClient.MySqlCommand
Dim parametro As New MySql.Data.MySqlClient.MySqlParameter
[ô] conexao = New MySql.Data.MySqlClient.MySqlConnection([Ô]server=localhost;user id=altair;password=123;database=exemplo[Ô])
parametro.ParameterName = [Ô]vnumero_gca[Ô]
parametro.Value = numero_gca.Text
cmdsql = New MySql.Data.MySqlClient.MySqlCommand([Ô]sp_entradas_carvao[Ô], GetConexao1)
cmdsql.CommandType = CommandType.StoredProcedure
cmdsql.Parameters.Add(parametro)
[ô]Call GetConexao1()
[ô]conexao.Open()
[ô]GetConexao1.Open()
dr = cmdsql.ExecuteReader
Do While dr.Read
valor_motorista.Text = dr([Ô]valor_motorista[Ô])
nf_produtor_rural.Text = dr([Ô]nf_produtor_rural[Ô])
m3_nf_produtor_rural.Text = dr([Ô]m3_nf_produtor_rural[Ô])
Loop
Call Desconectar1()
End Sub
Obrigado
if dr.hasrows then
Do While dr.Read
valor_motorista.Text = dr([Ô]valor_motorista[Ô])
nf_produtor_rural.Text = dr([Ô]nf_produtor_rural[Ô])
m3_nf_produtor_rural.Text = dr([Ô]m3_nf_produtor_rural[Ô])
Loop
end if
estou sem vb aqui, mas acredito que assim dará certo.
esse has rows verifica se tem dados....se sim ele da o loop !
Vlw mestre Zerocal, perfeito
Muito Obrigado.
Muito Obrigado.
Boa noite,
Estou usando o código abaixo, mas por exemplo se o valor do campo for nulo ele dá o seguinte erro:
Conversion from type [ô]DBNull[ô] to type [ô]String[ô] is not valid.
Estou usando o código abaixo, mas por exemplo se o valor do campo for nulo ele dá o seguinte erro:
Conversion from type [ô]DBNull[ô] to type [ô]String[ô] is not valid.
Private Sub carrega_calculos()
Dim command As New MySql.Data.MySqlClient.MySqlCommand([Ô]SELECT sum(valor_bruto) as valor_bruto1 FROM tb_pagamento WHERE data_pagamento BETWEEN [ô][Ô] & data_inicial.Text & [Ô][ô] AND [ô][Ô] & data_final.Text & [Ô][ô][Ô], GetConexao1)
Dim reader As MySql.Data.MySqlClient.MySqlDataReader
reader = command.ExecuteReader()
If reader.HasRows Then
Do While reader.Read()
Me.pago_inss.Text = reader([Ô]valor_bruto1[Ô])
pago_inss.Text = FormatCurrency(pago_inss.Text)
Loop
End If
reader.Close()
command.Dispose()
mete um if aiii
If Not reader.IsDBNull([Ô]valor_bruto1[Ô]) Then
[ô]codigo para ler
End If
te aconselho a montar uma função pra *reusar esse codigo !
If Not reader.IsDBNull([Ô]valor_bruto1[Ô]) Then
[ô]codigo para ler
End If
te aconselho a montar uma função pra *reusar esse codigo !
como assim recusar?
*reusar =]
Abraços
Abraços
Agora aparece outro erro: Conversion from string [Ô]valor_bruto1[Ô] to type [ô]Integer[ô] is not valid.
Obrigado
Dim command As New MySql.Data.MySqlClient.MySqlCommand([Ô]SELECT sum(valor_bruto) as valor_bruto1, sum(inss) as inss1, sum(irf) as irf1, calcular_inss FROM tb_pagamento WHERE cnpj = [ô][Ô] & Me.cpf_portador.Text & [Ô][ô] and data_pagamento BETWEEN [ô][Ô] & data_inicial.Text & [Ô][ô] AND [ô][Ô] & data_final.Text & [Ô][ô][Ô], GetConexao1)
Dim reader As MySql.Data.MySqlClient.MySqlDataReader
reader = command.ExecuteReader()
Do While reader.Read
If Not reader.IsDBNull([Ô]valor_bruto1[Ô]) Then
Me.acumulado_irrf.Text = reader([Ô]valor_bruto1[Ô])
Me.pago_inss.Text = reader([Ô]inss1[Ô])
Me.pago_irrf.Text = reader([Ô]irf1[Ô])
Me.calcula_inss.Text = reader([Ô]calcular_inss[Ô])
End If
Loop
reader.Close()
command.Dispose()
Obrigado
Tente colocar assim:
Me.acumulado_irrf.Text = reader([Ô]valor_bruto1[Ô]).Value.ToString
Me.pago_inss.Text = reader([Ô]inss1[Ô]).Value.ToString
Me.pago_irrf.Text = reader([Ô]irf1[Ô]).Value.ToString
Me.calcula_inss.Text = reader([Ô]calcular_inss[Ô]).Value.ToString
Me.acumulado_irrf.Text = reader([Ô]valor_bruto1[Ô]).Value.ToString
Me.pago_inss.Text = reader([Ô]inss1[Ô]).Value.ToString
Me.pago_irrf.Text = reader([Ô]irf1[Ô]).Value.ToString
Me.calcula_inss.Text = reader([Ô]calcular_inss[Ô]).Value.ToString
Tópico encerrado , respostas não são mais permitidas