sfapereira Posted December 27, 2009 at 11:18 AM Report Share #302537 Posted December 27, 2009 at 11:18 AM 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 More sharing options...
renafi Posted December 27, 2009 at 01:30 PM Report Share #302554 Posted December 27, 2009 at 01:30 PM 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 More sharing options...
sfapereira Posted December 27, 2009 at 01:47 PM Author Report Share #302557 Posted December 27, 2009 at 01:47 PM 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 More sharing options...
sfapereira Posted December 28, 2009 at 11:47 PM Author Report Share #302907 Posted December 28, 2009 at 11:47 PM Ninguem para me dar umas dicas Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now