Ir para conteúdo

POWERED BY:

Arquivado

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

Jefferson Saavedra

Dados no DataGrid com Ado

Recommended Posts

Olá pessoal minha primeira postagem aqui no forum de VB. Bom tenho um Formulário com dois componentes um Datagrid e um ADODC(datacontrol). Bom o caso é que estou tentando exibir no data grid os dados do meu banco mas ele não exibe nada. Segue meu código.

 

Private rst As New ADODB.Recordset

Private Sub Form_Load()
    rst.CursorLocation = adUseServer
    rst.Open "Livros", cnnBiblio, adOpenKeyset, adLockOptimistic
    Set datTodosLivros.Recordset = rst
    DataGrid1.Refresh
End Sub
Obs.: No vb quando eu digito ?datTodosLivros.Recordset.RecordCount aparece 3 que é a quantidade de registros. Obrigado pela ajuda de todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde Jefferson

 

Segue um exemplo de como você pode proceder, o projeto esta no link abaixo.

 

Clique aqui

 

e p codigo esta abaixo.

 


Dim Conexao As New ADODB.Connection

Private Sub Command1_Click()
    Filtra Adodc1, DataGrid1, "Select * From Authors Where Author Like '" & Me.Text1.Text & "%'"
End Sub

Private Sub Form_Load()
    'Dim Strin As String
    'Strin = Adodc1.ConnectionString
    'Debug.Print Strin
    Conexao.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\BIBLIO.MDB;Persist Security Info=False"
    Conexao.Open
    
    Filtra Adodc1, DataGrid1, "Select * From Authors"
End Sub

Sub Filtra(Data As Adodc, Grade As DataGrid, STRINGSQL As String)
        On Error GoTo ERRO
            
            Data.ConnectionString = Conexao.ConnectionString
            Data.LockType = adLockReadOnly
            Data.RecordSource = STRINGSQL
            Set Grade.DataSource = Data
            Data.Refresh
            Grade.Refresh
        
        'If Data.Recordset.RecordCount > 0 Then
            MsgBox "Total de Registro Encontrados é de " & Data.Recordset.RecordCount, vbInformation
            
            'Data.Recordset.MoveFirst
        'End If
        
        Exit Sub
        
ERRO:   If Err.Number <> 0 Then
          
          MsgBox "Erro : " & Err.Description, vbCritical
          
        End If
End Sub

Para isto você vai ter que ter o adodc eo datagrid no form.

 

Espero ter ajudado.

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Para isto você vai ter que ter o adodc eo datagrid no form.

 

Espero ter ajudado.

 

t+

 

Olá amigo funcionou, mas e se eu quiser por exemplo chamar o recordset direto no datagrid sem usar o data control tem como????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde Jefferson

 

Que eu saiba não.

 

Você pode usar rdo ou adodc para fazer isto !!!!

 

se você não quer que o adodc apareça na tela basta colocar a propriedade visible=false, que o mesmo não ficara visivel para os usuario.

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Jefferson, você pode fazer sua conexão toda por códigos, retirando o uso de componentes como o citado.

 

É um pouco mais complexo, principalmente na parte do DataGrid, mas só dessa maneira. Te dá uma flexibilidade maior para trabalhar.

Só parte para esse lado se realmente for necessário. Se suas aplicações estão funcionando usando componentes, continue.

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.