PROBLEMA COM FIREBIRD
Estou com um problema em meu sistema.
Utilizo ADO com Firebird.
Acontece o seguinte: Em um determinado ponto do sistema preciso saber o valor da chave primária do último registro de uma tabela, mas agora não esta me retornando mais o ultimo.
P. ex.: Deveria me retornar 338 mas esta me retornando 335 (O registro numero 338 existe).
Alguem tem ideia do que esta acontecendo?
Utilizo ADO com Firebird.
Acontece o seguinte: Em um determinado ponto do sistema preciso saber o valor da chave primária do último registro de uma tabela, mas agora não esta me retornando mais o ultimo.
P. ex.: Deveria me retornar 338 mas esta me retornando 335 (O registro numero 338 existe).
Alguem tem ideia do que esta acontecendo?
Posta como vc está fazendo para pegar este último registro.
Obs.:
Creio que o ideal seria dar um "Select Max(Campo_Chave_Primaria) from Sua_Tabela"
Obs.:
Creio que o ideal seria dar um "Select Max(Campo_Chave_Primaria) from Sua_Tabela"
Estou usando o move last.
E pq não faz como eu mostrei???
Ou então na hora de abrir o seu Recordset, da um ORDER BY
Select * from Sua_Tabela ORDER BY Campo_Chave_Primaria
Ou então na hora de abrir o seu Recordset, da um ORDER BY
Select * from Sua_Tabela ORDER BY Campo_Chave_Primaria
Sim fiz do seu jeito e deu certo.
Mas pq toda vez que uso o movelast nao da certo, pois preciso usa-lo em outra parte do codigo.
Mas pq toda vez que uso o movelast nao da certo, pois preciso usa-lo em outra parte do codigo.
Provelmente pq o recordset não está ordenado pela coluna de chave primária.
Creio que se na hora de abrir o recordset, vc colocar o "Order By Nome_Campo" no final da instrução SQL deve funcionar.
Creio que se na hora de abrir o recordset, vc colocar o "Order By Nome_Campo" no final da instrução SQL deve funcionar.
Tópico encerrado , respostas não são mais permitidas