Rafa 1850 0 Denunciar post Postado Outubro 23, 2009 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 Suboq 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
Rafa 1850 0 Denunciar post Postado Outubro 23, 2009 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 Subnã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
quintelab 91 Denunciar post Postado Outubro 23, 2009 Acredito que basta: cmbMunicipio.DataSource = SuaClasse.ListarCombo Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Rafa 1850 0 Denunciar post Postado Outubro 24, 2009 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
Rafa 1850 0 Denunciar post Postado Outubro 26, 2009 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 Subo Nome da minha tabela eh Nomese 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
Rafa 1850 0 Denunciar post Postado Outubro 27, 2009 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