Leodellari 1 Posted December 9, 2018 Report Share Posted December 9, 2018 (edited) Boas Criei uma tabela via código em uma base de dados access. Esta tabela contém 35 linhas preenchidas (sua última linha é a linha 34). Mas quando faço o "SELECT * FROM ..." o DataTable não armazena a última linha. Isso nunca me aconteceu. É a primeira vez que isso me acontece. A tabela original apresenta todos os valores, mas o DT não. Os outros DataTables que estou usando armazenam toda a tabela, mas esse não. Por enquanto não preciso da última linha da tabela, e não sei se vou precisar no futuro... Mas e se acontecer o mesmo erro com outro DT? Segue uma pasta no drive contendo as imagens da tabela e dos valores armazenados no DataTable. https://drive.google.com/drive/folders/1ao-deFC2mcF5xLwY7YA_TxnbTCHL4aWU?usp=sharing Esse erro passa a acontecer depois que eu dou um "delete" na tabela... Não sei se é por conta disso. Edited December 10, 2018 by Leodellari Link to post Share on other sites
miglaranjeira 5 Posted December 10, 2018 Report Share Posted December 10, 2018 Boa tarde O que me parece que está a acontecer é que no datatable estão todos os registos, mas não com a mesma ordem Experimenta SELECT * FROM ..ORDER BY Linha, Coluna 1 Report Link to post Share on other sites
Leodellari 1 Posted December 10, 2018 Author Report Share Posted December 10, 2018 (edited) Boa tarde miglaranjeira, Os valores estão em ordem. O que faço nessa parte do código é resgatar todos os valores de uma tabela (que é uma matriz esparsa) de modo a receber em ordem crescente. Depois deleto todos os registros dessa tabela com um "DELETE FROM ..." (o "TRUNCATE" não funciona... talvez seja por conta do Access) e armazeno os valores na tabela novamente. Depois do "delete from" paro de receber a última linha da tabela. Aconteceu com outra tabela que faço a mesma coisa: resgato os valores em ordem crescente com um "ORDER BY", deleto todos os registros da tabela, e armazeno na mesma tabela em ordem crescente. Edited December 10, 2018 by Leodellari Link to post Share on other sites
Leodellari 1 Posted December 10, 2018 Author Report Share Posted December 10, 2018 Pois não sei o que se passa. Vou descrever o teste que fiz aqui, quem sabe ajuda a entender melhor o meu problema. Resgatei os valores de uma tabela ("DeslocamentosNodais") usando o "ORDER BY". Criei outra tabela e armazenei os valores em ordem crescente em uma tabela com o nome de "DeslocamentosNodais2". Criei mais um DataTable (agora tem um dt para cada tabela). Em outra Sub eu resgato os valores das tabelas. O DataTable (dtdnv) que armazena os valores da tabela "DeslocamentosNodais" (valores desorganizados) recebe todos os valores, mas o DataTable (dtdnv2) que recebe os valores da nova tabela que criei ("DeslocamentosNodais2") não armazena a última linha. No access a linha existe, mas no DT a última linha não existe. A string que estou usando é a mesma para as duas tabelas ("SELECT * FROM nome_tabela"). Link to post Share on other sites
miglaranjeira 5 Posted December 10, 2018 Report Share Posted December 10, 2018 Coloca aqui o código do processo para ver se posso ajudar 1 Report Link to post Share on other sites
Leodellari 1 Posted December 11, 2018 Author Report Share Posted December 11, 2018 Acabei de descobrir o erro. Eu não estava fechando a conexão no final da Sub, e acho que isso estava causando o erro. Estou dividindo tudo em Subs para ficar mais organizado. Dentro das Subs eu deixo a conexão aberta, pois realizo várias operações de inserção e atualização de valores. No final de duas Subs eu não estava fechando a conexão. Quando o programa iniciava outra Sub, ele abria a conexão (mesmo ela já estando aberta) para resgatar os valores, e assim acontecia esse erro. Fechei a conexão no final de duas Subs (me esqueci de fechar a conexão), e o problema parou de acontecer. Obrigado mesmo assim. Link to post Share on other sites
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