Amigos, Tenho um código que foi feito inicialmente focando conexão com BD SQL Server. Ocorre que no meio do desenvolvimento, foi decidido que a melhor opção seria o Firebird. Daí começaram os erros com execução, principalmente nos scripts SQL. Um deles já foi solucionado, visto que o erro era somente a troca de uma sentença que só existia no SQL Server. Agora é o seguinte, minha aplicação reconhece os dados de um arquivo .txt e coloca no BD. Daí, temos um controle para evitar que arquivos duplicados sejam gravados. Funcionava perfeitamente com o SQL Server, mas agora, a aplicação roda mas só grava uma linha de cada arquivo. acredito que o erro seja na sentença sql, mas não consigo resolver. A sentença é: select * from programacao where ID = ' + quotedstr(VID); onde ID é um campo criado pelo sistema através da sentença: VID := (yano+'/'+ymes+'/'+ydia)+ copy(vnomecampos,10,3) + copy(vnomecampos,15,7) + copy(vnomecampos,23,3) + copy(vnomecampos,27,3) + copy(vnomecampos,32,5); A sentença toda fica assim: // verificar se existe ID no banco de dados // fecha a tabela escalaDM.CDSescala.close; // coloca a instrucao SQL para buscar o ID escalaDM.CDSescala.CommandText := ' select * from programacao where ID = ' + quotedstr(VID); // abre a tabela escalaDM.CDSescala.open; // verifica se foi encontrado mais de um registro if escalaDM.CDSescala.RecordCount > 0 then begin // se for encontrado, significa que o ID já esta no banco // e faz a proxima leitura do registro Readln(sArquivo,vnomecampos); //se a proxima leitura for Fim de arquivo if eof(sArquivo) then begin // saia do loop break end else begin // senao volte lá pra cima. continue end; end; Atualmente estou trabalhando com Delphi 2007 e BD Firebird 2.5 Só pra enfatizar....o problema que etsou tendo é: Os arquivos são escalas, com datas de 01 à 30 dependendo do mês e o software reconhece e grava todos estes dias, mês à mês. Tudo funcionava corretamente no SQL Server, mas no Firebird, o código começa a ler as escalas, mas só retorna o último dia de cada mês. Obrigado