Jump to content
aprendiz93

Pergunta Rapida e Basica VB.Net

Recommended Posts

aprendiz93

Boa tarde geral como converto esses códigos para access?

ds = New DataSet

da.Fill(ds, "myTable")

Me.DataGridView1.DataSource = ds.Tables("myTable")

Agradeço desd ejá pela ajuda.

Share this post


Link to post
Share on other sites
Caça

Como assim?

Queres um DataSource em Access?


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
aprendiz93

Estou convertendo este codigo para Access:

    Imports System.Data.SqlClient

    ' Declaração de variáveis privadas
    Private da As SqlDataAdapter
    Private ds As DataSet

    ' No Form Load vamos colocar a informação para actualizar a DataGridView
    Private Sub DataGridViewExample_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 

        ' Texto de ligação à base de dados
        Dim myConnectionString As String = _ 
       "Data Source=.\SQLEXPRESS;AttachDbFilename='C:\myDatabase.mdf';" & _ 
       "Integrated Security=True;User Instance=True"

        ' Cria uma nova ligação à base de dados
        Dim connection As New SqlConnection(myConnectionString)

        ' Cria um novo SqlDataAdapter que servirá para actualizar o DataSet
        Dim SQL As String = "SELECT * FROM myTable"
        da = New SqlDataAdapter(SQL, connection)

        sintaxe = Nothing
        conecção = Nothing

        ' Cria um DataSet, ou seja, uma representação em memória da informação
        ds = New DataSet

        ' Coloca a informação da tabela definida no DataSet
        da.Fill(ds, "myTable")

        ' Define que a fonte de dados da DataGridView é a nossa DataSet
        ' criando automáticamente as colunas e linhas de dados
        Me.DataGridView1.DataSource = ds.Tables("myTable")

        ' Limpa a ligação à base de dados. Não é necessário fechar a ligação
        ' porque esta não foi aberta através do comando .Open()
        connection = Nothing

      End Sub

Só converti:

Dim ligação As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Documents and Settings\thiago\Meus documentos\Visual Studio 2008\Projects\sistema\sistema\Cadastro.accdb;Persist Security Info=False;"

        ' Cria uma nova ligação à base de dados
        Dim conecção As New OleDbConnection(ligação)
        ' Cria um novo SqlDataAdapter que servirá para actualizar o DataSet
        Dim SQL As String = "SELECT * FROM TABCAD"

        Dim command As New OleDbCommand(sintaxe, conecção)

Share this post


Link to post
Share on other sites
Caça

E o resto é igual

Imports System.Data.SqlClient
Imports System.Data.OleDb 

Private da As SqlDataAdapter
Private da As OleDbDataAdapter

'etc...


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
aprendiz93

Esta dando erro no        da.Fill(ds, "TABCAD") segue o codigo.

 Private Sub DataGridViewExample_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        ' Declaração de variáveis privadas

       Dim da As SqlDataAdapter
        Dim ds As OleDbDataAdapter

        Dim ligação As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Documents and Settings\thiago\Meus documentos\Visual Studio 2008\Projects\sistema\sistema\Cadastro.accdb;Persist Security Info=False;"

        Dim conecção As New OleDbConnection(ligação)

        Dim sintaxe As String = "Select * From TABCAD"

        Dim command As New OleDbCommand(sintaxe, conecção)

        ' Cria um DataSet, ou seja, uma representação em memória da informação
        ds = New DataSet

        ' Coloca a informação da tabela definida no DataSet

         da.Fill(ds, "TABCAD")

        ' Define que a fonte de dados da DataGridView é a nossa DataSet
        ' criando automáticamente as colunas e linhas de dados

        Me.DataGridView1.DataSource = ds.Tables("TABCAD")

        ' Limpa a ligação à base de dados. Não é necessário fechar a ligação
        ' porque esta não foi aberta através do comando .Open()

        conecção = Nothing

Share this post


Link to post
Share on other sites
aprendiz93

Error 1 Value of type 'System.Data.DataSet' cannot be converted to 'System.Data.OleDb.OleDbDataAdapter'. C:\Documents and Settings\thiago\Meus documentos\Visual Studio 2008\Projects\sistema\sistema\Form3.vb 38 14 sistema

Error 2 Overload resolution failed because no accessible 'Fill' can be called with these arguments:

    'Public Function Fill(startRecord As Integer, maxRecords As Integer, ParamArray dataTables() As System.Data.DataTable) As Integer': Value of type 'System.Data.OleDb.OleDbDataAdapter' cannot be converted to 'Integer'.

    'Public Function Fill(dataSet As System.Data.DataSet, srcTable As String) As Integer': Value of type 'System.Data.OleDb.OleDbDataAdapter' cannot be converted to 'System.Data.DataSet'. C:\Documents and Settings\thiago\Meus documentos\Visual Studio 2008\Projects\sistema\sistema\Form3.vb 42 9 sistema

Share this post


Link to post
Share on other sites
Caça

Não alteraste isto

Dim da As OleDbDataAdapter
Dim ds As DataSet


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
aprendiz93

Desculpa ficar te enchendo o saco mais seguinte compila normal mais quando clico no botao cadastrados da o seguinte erro: Object reference not set to an instance of an object.

da.Fill(ds, "TABCAD")

Share this post


Link to post
Share on other sites
Caça

Não estas a indicar o comando do DataAdapter

Coloca assim(não testei)

        Dim da As New OleDb.OleDbDataAdapter
        Dim ds As DataSet
        Dim ligação As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Documents and Settings\thiago\Meus documentos\Visual Studio 2008\Projects\sistema\sistema\Cadastro.accdb;Persist Security Info=False;"
        Dim conecção As New OleDb.OleDbConnection(ligação)
        Dim sintaxe As String = "Select * From TABCAD"
        conecção.Open()
        Dim command As New OleDb.OleDbCommand(sintaxe, conecção)
        da.SelectCommand = command
        ' Cria um DataSet, ou seja, uma representação em memória da informação
        ds = New DataSet
        ' Coloca a informação da tabela definida no DataSet
        da.Fill(ds, "TABCAD")
        ' Define que a fonte de dados da DataGridView é a nossa DataSet
        ' criando automáticamente as colunas e linhas de dados
        Me.DataGridView1.DataSource = ds.Tables("TABCAD")
        ' Limpa a ligação à base de dados. Não é necessário fechar a ligação
        ' porque esta não foi aberta através do comando .Open()
        conecção = Nothing

EDIT: Fiz uma alteração no código


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.