Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rafa 1850

[Resolvido] Problema ao buscar Função da Classe

Recommended Posts

Oláaa galera!

bem, estou com problema para buscar um método que fiz na classe...

segue meu códigoe abaixo o problema...

NA CLASSE- Prrenche um COmboBox

Public Sub CarregaCombo()
        Dim myConnectionString As String = My.Settings.ConexaoBD
        Dim connection As New SqlConnection(myConnectionString)
        connection.Open()

        Dim reader As SqlDataReader
        Dim cmd As SqlCommand
        cmd = New SqlCommand("select Municipio FROM nomes", connection)
        reader = cmd.ExecuteReader

        While reader.Read

            frmExemplo.cmbMunicipio.Items.Add(reader.Item("Municipio"))

        End While
        connection.Close()
    End Sub

Pronto , agora no form principal aonde encontra-se este combobox gostaria de chamar essa função da classe

como faço?

 

no Load do formprincipal ponho algo do tipo

Private Sub frmPrincipal_Load(ByVa...)...
carregaComboPrivate()
[b]FORM PRINCIPAL[/b]
e abaixo crio um private sub para o mesmo?

mas como seria este private sub?

Private Sub CarregaComboPrivate()
  Dim cldNomes As New cldExemplo
        bds.DataSource = cldNomes.CarregaCombo.Item(0)
        cmbMunicipio.DataSource = bds
End Sub
oq por nesse private sub do main form?

abraços!

 

aguardo..

Grande Abraaço,

 

Rafa[]

Compartilhar este post


Link para o post
Compartilhar em outros sites

desculpem pelo post consecutivo mas aprendi algo e mudei tudo.

e continuo com um problema.

eis o tal:

 

tenho uma classe de data set, uma de negocio e uma main.

 

na de negocio fiz:

Public Function ListarCombo() As DataSet
        Dim strQuery As New StringBuilder

        strQuery.Append(" SELECT Nomes.Municipio, ")
        strQuery.Append(" FROM nomes ")

        ListarCombo = Nothing
        Try
            Return cldBancoDados.ExecuteDataSet(My.Settings("Conexaobd"), CommandType.Text, strQuery.ToString, Nothing)
        Catch ex As Exception
            MessageBox.Show(ex.ToString)
        End Try
    End Function

aparentemente esta boa...

entao a de dataset tah perfeita, jah era do sistema anterior e funciona legal e talz...

 

ai na main:

Private Sub carregaComboPrivate()
        Dim cldMunicipio As New cldExemplo
        Dim ds As New DataSet
        'While 

        ' cmbMunicipio.Items.Add(car.Item("Municipio"))

        'End While
    End Sub
não sei oq uso...

nao posso usar o execute reader pq eh trabalho do estagio..

=/

to bem perdido nesse main.. oq fazer pra preencher esse combo com a ideia desta programação...

sou iniciante.. estou a 1 mes em VB.net

 

=S

 

abraços e novamente desculpa pela postagem seguida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok

ai para preencher o combo faço um while como?

isso só basta?

abraos

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem, (cmbMunicipio.DataSource = SuaClasse.ListarCombo) nao funcionou =/

 

vou ao que tenho.

na classe tenho:

Public Function ListarCombo() As DataSet
        Dim strQuery As New StringBuilder

        strQuery.Append(" SELECT Nomes.Municipio, ")
        strQuery.Append(" Nomes.Nome, ")

        'adiciona o filtro
        If Not _sWhere.Equals(String.Empty) Then
            strQuery.Append(_sWhere)
        End If
        If Not _sOrder.Equals(String.Empty) Then
            strQuery.Append(" ORDER BY " & _sOrder)
        End If

        ListarCombo = Nothing
        Try
            Return cldBancoDados.ExecuteDataSet(My.Settings("Conexaobd"), CommandType.Text, strQuery.ToString, Nothing)
        Catch ex As Exception
            MessageBox.Show(ex.ToString)
        End Try
    End Function

na principal tenho:

Private Sub CarregaCombo()
        Dim cldNomes As New cldExemplo
        If Len(mWhere) > 0 Then
            cldNomes.sWhere = " WHERE " & mWhere
        Else
            cldNomes.sWhere = ""
        End If

        cldNomes.sOrder = mOrder

        cmbMunicipio.DataSource = cldNomes.ListarCombo.Tables.Item(0)
        cmbMunicipio.DisplayMember = "Municipio"
        cmbMunicipio.ValueMember = "Municipio"
    End Sub
o Nome da minha tabela eh Nomes

e o valor do campo que quero exibir no combo eh municipio

 

da erro em: cmbMunicipio.DataSource = cldNomes.ListarCombo.Tables.Item(0)

" Object reference not set to an instance of an object."

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem começei do zero e consegui, era erro na query mesmo. então deixando ae pra galera que inicia o Codigo limpo.

rodando e perfeitinho para ser estudado por outros!

a idéia era existir uma classe que crie uma query e consulte a classe banco de dados para fazer uma conexao...

hierarquia de classes..

 

e na classe da interface você poder preencher um combo ultilizando uma classe com a query e q conecta-se ao banco

entao segue ->

abraços e bons estudos. [resolvido minha duvida.]

 

 

na classe tenho:

Public Function ListarCombo() As DataSet
        Dim strQuery As New StringBuilder

        strQuery.Append(" SELECT Nomes.Municipio, ")
        strQuery.Append(" FROM Nomes.Nome, ")

        'adiciona o filtro
        If Not _sWhere.Equals(String.Empty) Then
            strQuery.Append(_sWhere)
        End If
        If Not _sOrder.Equals(String.Empty) Then
            strQuery.Append(" ORDER BY " & _sOrder)
        End If

        ListarCombo = Nothing
        Try
            Return cldBancoDados.ExecuteDataSet(My.Settings("Conexaobd"), CommandType.Text, strQuery.ToString, Nothing)
        Catch ex As Exception
            MessageBox.Show(ex.ToString)
        End Try
    End Function

na principal tenho:

Private Sub CarregaCombo()
        Dim cldNomes As New cldExemplo
        If Len(mWhere) > 0 Then
            cldNomes.sWhere = " WHERE " & mWhere
        Else
            cldNomes.sWhere = ""
        End If

        cldNomes.sOrder = mOrder

        cmbMunicipio.DataSource = cldNomes.ListarCombo.Tables.Item(0)
        cmbMunicipio.DisplayMember = "Municipio"
        cmbMunicipio.ValueMember = "Municipio"
    End Sub

 

ENJOY.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.