GARANTIR DESCONTO

Fórum Erro Field Name is Missing #55317

22/02/2006

0

Tenho a seguinte rotina para verificar e evitar cadastrar dois clientes com o mesmo nome:

if HouveDuplicacaoChave(´CLIENTES´, ´NOME´, AnsiUpperCase(DBEdit2.text))then
ShowMessage(´Esse nome já existe´);

Function HouveDuplicacaoChave(VTabela, VCampo, VValor: String) : boolean;
begin
SQLDataSet1.Close;
SQLDataSet1.Close;
SQLDataSet1.CommandText := ´SELECT UPPER(´+VCampo+´) FROM ´+VTabela+´ WHERE UPPER(´+VCampo+´)=:VDado´;
SQLDataSet1.Params[0].AsString := VValor;
SQLDataSet1.Open;
Result := not SQLDataSet1.IsEmpty;
end;

Vários usuários utilizam o sistema, mas, em alguns deles (pequeno percentual), ocorre o seguinte ao se executar a rotina:
´SQLDataSet1 field name is missing´

O sistema utiliza Firebird 1.5.

Não é em todo computador que ocorre. A única relação que consegui estabelecer entre as máquinas onde o erro ocorre, é que todas tem o Interbase instalado.

Será que é algum conflito com o Interbase? Ou será que minha função tem algum erro?

Obrigado.


Valdirdill

Valdirdill

Responder

Posts

23/02/2006

Vinicius2k

O sistema utiliza Firebird 1.5. Não é em todo computador que ocorre. A única relação que consegui estabelecer entre as máquinas onde o erro ocorre, é que todas tem o Interbase instalado. Será que é algum conflito com o Interbase? Ou será que minha função tem algum erro?

Você deve estar com problemas de conflito de cliente. A GDS32.DLL do IB não é a mesma que a GDS32.DLL gerada pelo FB para compatibilidade.

Como você usa dbExpress, configure o [b:03177620ef]SQLConnection -> VendorLib[/b:03177620ef] para [b:03177620ef]fbclient.dll[/b:03177620ef], caso ainda não esteja. Porque se não estiver, o que está acontencendo é que a sua aplicação está tentando executar a instrução usando a DLL cliente do IB.


Responder

Gostei + 0

23/02/2006

Valdirdill

[quote:0e6d3759e9=´valdirdill´]O sistema utiliza Firebird 1.5. Não é em todo computador que ocorre. A única relação que consegui estabelecer entre as máquinas onde o erro ocorre, é que todas tem o Interbase instalado. Será que é algum conflito com o Interbase? Ou será que minha função tem algum erro?

Você deve estar com problemas de conflito de cliente. A GDS32.DLL do IB não é a mesma que a GDS32.DLL gerada pelo FB para compatibilidade.

Como você usa dbExpress, configure o [b:0e6d3759e9]SQLConnection -> VendorLib[/b:0e6d3759e9] para [b:0e6d3759e9]fbclient.dll[/b:0e6d3759e9], caso ainda não esteja. Porque se não estiver, o que está acontencendo é que a sua aplicação está tentando executar a instrução usando a DLL cliente do IB.[/quote:0e6d3759e9]

É estava mesemo como GDS32.dll.
Obrigado, vou mudar e acompanhar para ver se o erro não ocorre mais.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar