Erro ao abrir ClientDataSet.open - unknown ISC error 0

Delphi

01/11/2017

Minha aplicação parou de funcionar quando alterei a estrutura do banco de dados (firebird). O erro ocorre quando tento acessar um registro, depois de te-lo selecionado em uma tela de pesquisa. Quando acesso o 1º registro, o erro não ocorre, mas, quando acesso o 2º, ocorre Exception class TDBXError with message 'unknown ISC error 0'. Se eu fechar a tela de cadastro e abri-la novamente, o erro não ocorre.
Antes, não era necessário atribuir a consulta ao CommandText; ela vinha do SqlDataSet.CommandText (SELECT * FROM REGNAS WHERE NUMERO = :NUMERO). Agora, sem ela, o CammandText fica vazio e o erro ocorre sempre; com ela, ocorre na segunda vez que seleciono o registro na tela de pesquisa.
Abaixo, O código:

procedure TfrmNascimento.BtnPesquisarClick(Sender: TObject);
begin
inherited;
try
frmPesquisa := TfrmPesquisa.Create(Self, dmNascimento.cdsPesqNascimento, 'REGNAS');
frmPesquisa.ShowModal;
finally
with dmNascimento.ClientDataSetNascimento do
begin
close;
CommandText := 'SELECT * FROM REGNAS WHERE NUMERO = :NUMERO';
FetchParams;
Params.ParamByName('NUMERO').AsInteger :=
dmNascimento.cdsPesqNascimentoNUMERO.AsInteger;
Open;
end;
FreeAndNil(frmPesquisa);
end;
end;




Alguém poderia me ajudar a solucionar este problema? Desde já, obrigado!
FRANCISCO RODRIGUES

• Responder • Citar
Francisco Rodrigues

Francisco Rodrigues

Curtidas 0

Respostas

Henrique Dias

Henrique Dias

01/11/2017

uma vez usei esse método por parâmetros, e dava um erro tbm,
porem era um erro de compatibilidade com o delphi,
experimente nao usar esse parm e declara a variável direto na sql
... '+ quotedtstr(VARIAVEL) + ' ...
GOSTEI 0
Francisco Rodrigues

Francisco Rodrigues

01/11/2017

Resolvido - Obrigado Henrique. O problema estava em uma tabela; ao criar um campo que deveria ser do tipo integer, informei numeric(8,0).
GOSTEI 0
POSTAR