Jump to content

Completamente perdido com tabelas e BD


sfapereira

Recommended Posts

Bom dia Pessoal,

Antes demais espero que vosso Natal tenho sido o desejado! O meu passei-o de volta do meu programa..(cada um tem aquilo que merece..  ? )

Agora passando a coisas mais serias..estou completamente perdido no uso de uma BD com 3 tabelas destintas (diferencia tres tipos de colaboradores de uma empresa) usando Dataset,DataTables e Adapters. Quando coloco apenas uma tabela em uso sem qualquer problema. Agora quando tento aceder à segunda dá-me este brilhante erro:

Unable to cast object of type 'FuncionarioRow' to type 'DirectorRow'.

Será que alguem me pode ajudar a estruturar o uso de 3 tabelas em simultaneo no meu programa?

É necessário criar 3 DataSets para cada uma das tabelas? Tambem já o fiz e dá a mesma mensagem de erro..

Se precisarem do codigo coloco aqui.

Abraço e obrigado

SP

Link to comment
Share on other sites

Tu quando usas o DataAdapter, chamas o método fill para o DataSet, certo? E quando fazes isso, não declaras o nome da DataTable? Uma coisa tipo isto: dataAdapter.Fill(dataSet,"Tabela")

A partir daí acedes ou ao nome da tabela, ou mesmo ao índice no DataSet.

Oracle Certified Professional - AdministraçãoOracle Certified Professional - Pl/sqlMCPD - Microsoft Certified Professional DeveloperMCTS - Microsoft Certified Technology Specialist

Link to comment
Share on other sites

O codigo que tenho para uma tabela é este na Classe Funcionarios e Tabela Funcionarios

    Protected objFuncionariosAdapter As FuncionariosDataSetTableAdapters.FuncionarioTableAdapter

    Protected objFuncionariosDataSet As FuncionariosDataSet

    Public objFuncionariosTable As FuncionariosDataSet.FuncionarioDataTable

    Public Sub New

        'criação de um constructor que inicializa as variaveis da classe

        MyBase.New()

        objFuncionariosAdapter = New FuncionariosDataSetTableAdapters.FuncionarioTableAdapter

        objFuncionariosDataSet = New FuncionariosDataSet

        objFuncionariosAdapter.Fill(objFuncionariosDataSet.Funcionario)

        objFuncionariosTable = objFuncionariosDataSet.Funcionario

        'atribuir às variáveis da base

        objTabelaBase = CType(objFuncionariosTable, Data.DataTable)

        objAdapterBase = CType(objFuncionariosAdapter.Adapter, Data.Common.DataAdapter)

        LerActual()

    End Sub

Depois com os proc de Leitura e escrita

    Protected Overrides Sub LeValores(ByVal LinhaParaLer As System.Data.DataRow)

        Dim LinhaFuncionario As FuncionariosDataSet.FuncionarioRow

        LinhaFuncionario = CType(LinhaParaLer, FuncionariosDataSet.FuncionarioRow)

  Protected Overrides Sub EscreveValores(ByVal LinhaParaEscrever As System.Data.DataRow)

        Dim LinhaFuncionario As FuncionariosDataSet.FuncionarioRow

        LinhaFuncionario = CType(LinhaParaEscrever, FuncionariosDataSet.FuncionarioRow)

Link to comment
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.