LIMPAR CAMPOS

ALTAIR148 06/04/2011 07:33:36
#370561
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.
WEBSTERGONTIJO 06/04/2011 07:39:34
#370563
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
ALTAIR148 06/04/2011 07:41:56
#370564
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
RODRIGOFERRO 06/04/2011 07:49:48
#370565
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 !
ALTAIR148 06/04/2011 07:55:41
#370567
Vlw mestre Zerocal, perfeito
Muito Obrigado.
ALTAIR148 10/04/2011 22:00:45
#371011
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.


 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()

RODRIGOFERRO 10/04/2011 22:47:30
#371013
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 !
ALTAIR148 11/04/2011 08:29:47
#371021
como assim recusar?
RODRIGOFERRO 11/04/2011 09:02:51
#371027
*reusar =]

Abraços
ALTAIR148 18/04/2011 21:54:12
#371770
Agora aparece outro erro: Conversion from string [Ô]valor_bruto1[Ô] to type [ô]Integer[ô] is not valid.



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
PEGUDO 19/04/2011 08:17:43
#371799
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
Página 1 de 2 [18 registro(s)]
Tópico encerrado , respostas não são mais permitidas