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

Form de pesquisa não entrega valor


Carlos Rocha

Pergunta

Ola.

Tenho um form de pedidos e na parte que temos que preencher com os dados do cliente, temos um botão para abrir um form de pesquiza de clientes igual ao que vemos no link do macoratti:

http://www.macoratti.net/08/06/vbn_psv2.htm

Acontece que quando, no form de pesquiza, quando cliko em selecionar o registro após ter escolhido, me retona registro = 0. Porem, se eu colocar um breakpoint no código antes de fechar o código ai a variavel registro, tanto no form de pesquisa quanto no form de peidos, esta com o valor correto, mas se eu insistir e forçar a execução após o breakpoint, o valor da variavel é zerada.

segue os códigos:

Pedidos.vb

Imports MySql.Data.MySqlClient
Public Class Pedidos
    Dim accDb As New DBConnection
    Dim registro As Integer
    Dim dr As DataRow
    Dim dt As DataTable
    Dim ds As DataSet = Nothing
    Private Sub bcliente_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bcliente.Click
        Dim dialogo As New frmClientes
        dialogo.ShowDialog()
        If dialogo.DialogResult = Windows.Forms.DialogResult.OK Then
            Dim tabela As String = "Clientes"
            Dim sql As String = "Select * from " & tabela & " where clienteID = '" & registro & "'"
            ds = accDb.ExecuteDS(sql, tabela)
            dt = ds.Tables(tabela)
            dr = dt.Rows(registro)
            codigo.Text = dr("clienteID")
            cliente.Text = dr("nome")
            registro = dr("clienteID")
        Else
            MsgBox("Não foi selecionado nenhum cliente.")
            codigo.Text = ""
            cliente.Text = ""
        End If
    End Sub

End Class
frmClientes.vb
Imports MySql.Data.MySqlClient
Public Class frmClientes
    Dim accDb As New DBConnection
    Dim ped As New Pedidos
    Dim registro As Integer
    Dim dr As DataRow
    Dim dt As DataTable
    Dim ds As DataSet = Nothing
    Dim tabela As String = "Clientes"
    Private Sub mostracolunas()
        DGWClientes.Columns.Item(0).HeaderText = "ID"
        DGWClientes.Columns.Item(1).HeaderText = "CPF_CNPJ"
        DGWClientes.Columns.Item(2).HeaderText = "NOME"
        DGWClientes.Columns.Item(3).HeaderText = "ENDEREÇO"
        DGWClientes.Columns.Item(4).HeaderText = "E-MAIL"
        DGWClientes.Columns.Item(5).HeaderText = "ATIVO"
        DGWClientes.Columns.Item(6).HeaderText = "DATA"
        DGWClientes.Columns.Item(7).HeaderText = "TIPO"

        DGWClientes.Columns.Item(5).Visible = False
        DGWClientes.Columns.Item(7).Visible = False
    End Sub

    Private Sub frmClientes_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim sql As String = "Select * from " & tabela & " where ativo='S'"
        ds = accDb.ExecuteDS(sql, tabela)
        DGWClientes.DataSource = ds.Tables(0).DefaultView
        mostracolunas()
    End Sub
    Private Sub P_Nome_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles P_Nome.TextChanged
        Try
            Dim sql As String = "Select * from " & tabela & " where ativo='S' and nome like '" & P_Nome.Text & "%'"
            ds = accDb.ExecuteDS(sql, tabela)
            DGWClientes.DataSource = ds.Tables(0).DefaultView
        Catch ex As Exception
            MessageBox.Show("Erro: " & ex.Message, "Sem conexão", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End Try
    End Sub

    Private Sub Selecionar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Selecionar.Click
        Dim linha As Integer = DGWClientes.CurrentRow.Index
        registro = DGWClientes.Item("clienteID", linha).Value.ToString
        DialogResult = System.Windows.Forms.DialogResult.OK
        Close()
    End Sub
End Class
Ah, só uma observação: Quando estoui depuirando o código, na linha
DialogResult = System.Windows.Forms.DialogResult.OK

A parte System.Windows.Forms.DialogResult.OK, da resultado ok e a parte DialogResult já da Null.

Como pode um resultado ok entregar null para a variavel?

Editado por Carlos Rocha
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

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