• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

gastao

carregar dados da bd a partir de ini

11 mensagens neste tópico

boas noites, estou aqui a atrufiar com uma situação de ler os dados atraves de um .ini, ou seja a base de dados esta a ser carregada atraves de um ini e para uma datagridview ate csg listar os dados, mas imaginem que kero carregar o primeiro registo de uma tabela?? ou mesmo a propria tabela vazia ao fazer um search depois me aparecer a minha procura.

tou com o seguinte codigo:

   
Public Function fCnnString() As String
        Dim strIniFile As String = "C:\Users\Bruno\Desktop\testes\config.ini"
        Dim strDb As String = GetIniSetting("CaminhoBaseDados", "BaseDados", strIniFile) & _
                              GetIniSetting("NomeBaseDados", "BaseDados", strIniFile)
        Dim CnnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDb & ";User Id=admin;Password=;"
        fCnnString = CnnString
    End Function


    Private Sub Cliente_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Call fCnnString()
        Dim ds As New DataSet
        Dim dt As New DataTable
        Dim adap As New OleDbDataAdapter("select * from Cliente", fCnnString)
        adap.Fill(ds, "cliente")
        dt = ds.Tables(0)
        DataGridView1.DataSource = ds.Tables("Cliente")
        TextBox1.Text = ds.Tables.Item("cliente") (eu keria listar para os textbox... mas nao tou a csg 
   End Sub
End Class

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O que tu queres por o textBox1.text? Porque o que tu estas a mandar para la é o mesmo que tu mandas para a dataGridView....

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

sim e o mesmo, mas na datagrid e o que contem a tabela, eu quero abrir para o formulario no caso de abrir um novo cliente no caso ou mesmo editar esse mesmo ou mesmo apaga lo...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

sim tens razao deveria ser algo do genero

TextBox1.Text = ds.Tables.Item("idCliente")

mas nao funciona

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já que tens ali no código uma DataTable, dá-lhe uso.

For Each DR As DataRow In DT.Rows
            TextBox1.Text = DR("idCliente").ToString.Trim
            TextBox2.Text = DR("Cliente").ToString.Trim
            'e por aí fora
Next

Como neste caso, só deverá existir (à partida) um registo:

TextBox1.Text = DT.Rows(0).Item("idCliente").ToString.Trim
TextBox2.Text = DT.Rows(0).Item("Cliente").ToString.Trim

Também poderias fazer o mesmo a partir do DS, tendo que adicionalmente especificar mais um nível: a tabela.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acabei de colocar uma classe de acesso ao INI por API..

Vê este post:

Compr.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já que tens ali no código uma DataTable, dá-lhe uso.

For Each DR As DataRow In DT.Rows
            TextBox1.Text = DR("idCliente").ToString.Trim
            TextBox2.Text = DR("Cliente").ToString.Trim
            'e por aí fora
Next

Como neste caso, só deverá existir (à partida) um registo:

TextBox1.Text = DT.Rows(0).Item("idCliente").ToString.Trim
TextBox2.Text = DT.Rows(0).Item("Cliente").ToString.Trim

Também poderias fazer o mesmo a partir do DS, tendo que adicionalmente especificar mais um nível: a tabela.

imagina a seguinte situaçao tenho uma combobox onde me ira aparecer a listagem dos nomes da minha tabela de clientes, e ao seleccionar um cliente, ele me ira listar nas restantes componentes, textbox... tipo da maneira que me puses te ai nao csg listar... tou com o seguinte codigo

Call fCnnString()
        Dim ds As New DataSet
        Dim adap As New OleDbDataAdapter("select * from Cliente", fCnnString)
        adap.Fill(ds, "cliente")
        DataGridView1.DataSource = ds.Tables("Cliente")
        Dim dt As New DataTable

        For Each DR As DataRow In dt.Rows
            TextBox1.Text = DR("idCliente").ToString.Trim
            ComboBox1.Text = DR("nome").ToString.Trim
        Next

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Quanto a listagem a partir de um ini esta resolvido desta maneira:

Private Sub Cliente_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Call fCnnString()
        Dim ds As New DataSet
        Dim dt As New DataTable
        Dim adap As New OleDbDataAdapter("select * from cliente",fCnnString)
        adap.Fill(ds, "cliente"
        dt = ds.Tables(0)
        DataGridView1.DataSource = ds.Tables("cliente") 'preenche o DaraGrid
        For Each DR As DataRow In dt.Rows
            TextBox1.Text = DR("idCliente").ToString.Trim
            ComboBox2.Text = DR("nome").ToString.Trim
            ...        
Next
    End Sub

Agora a minha duvida está em que todos os nomes existentes na bd me listagem na combobox para eu poder escolher e poder edita los...

tou com o seguinte codigo mas estou aqui com um problema pq ele nao me esta a listar os nomes todos

            Call fCnnString()
            Dim cmd As New OleDbCommand("select * from cliente where nome = '" & ComboBox2.SelectedItem & "'")
            Dim drdr As OleDbDataReader
            drdr = cmd.ExecuteReader
            drdr.Read()
            TextBox1.Text = drdr.Item("idcliente")
            ComboBox2.Text = drdr.Item("nome")

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

resolvido desta forma, para quem quiser

            ComboBox2.Items.Add(DR.Item("nome"))

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora