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

sfapereira

Completamente perdido com tabelas e BD

4 mensagens neste tópico

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..  :mad:)

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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)

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