Fórum Erro na inserção de código - EVariantTypeCastError #293005

25/08/2005

0

Olá Pessal, Tudo bem?

Estou com o seguinte problema na minha aplicação; clico no Botão Novo, para inserir um registro na tela de pedidos, quando eu digito o código do cliente é para aparecer os dados completos, tais como nome, endereço e telefone, etc... Aparece o seguinte erro:

Project Project1.exe raised exception class EvariantTypeCastError with message ´Could not convert variant of type (String) into type (Boolean)´. Process stopped. Use Step or Run to continue.


Aqui está o código:

procedure TfrmPedidos.dbeCodigoPropertiesChange(Sender: TObject);
var
iCodigo: integer;
begin
if not strempty(dbeCodCliente.Text) then
iCodigo:= strtoint(dbecodcliente.Text);
if dsCadCliente.DataSet.Locate(´CCOD´, iCodigo, []) then
begin
// O ERRO É BEM AQUI EM BAIXO!!!
dsPedidos.DataSet[´PED_NOMERAZAO´] := dsCadCliente.DataSet[´CRAZAO´];
dsPedidos.DataSet[´PED_ENDERECO´] := dsCadCliente.DataSet[´CENDERECO´];
dsPedidos.DataSet[´PED_BAIRRO´] := dsCadCliente.DataSet[´CBAIRRO´];
dsPedidos.DataSet[´PED_CEP´] := dsCadCliente.DataSet[´CCEP´];
dsPedidos.DataSet[´PED_CIDADE´] := dsCadCliente.DataSet[´CCIDADE´];
dsPedidos.DataSet[´PED_UF´] := dsCadCliente.DataSet[´CUF´];
end
else
begin
// avisar que não existe um cliente cadastrado no sistema
ShowMessage(´Código de Cliente não encontrado.´);
end
end;

O que será que estou fazendo de errado?
Uso D7 e Firebird 1.5.2

Agradeço antecipadamente :)


Edibertoalves

Edibertoalves

Responder

Posts

25/08/2005

Michelli88

[b:060196994d]Voce quer fazer uma busca pelo código do cliente, e mostrar na tela de pedido os dados do cliente? É isso?
Se for, vc poderia fazer o seguinte:
[color=red:060196994d]Na query voce poe esse SQL:[/color:060196994d]
[/b:060196994d]
SELECT * FROM tabela_cliente 
WHERE
  codigo_cliente=:CodDigitado


Depois voce passa pra essa query o codigo digitado via parametro:
Query.Close;
Query.ParamByName(´CodDigitado´).AsInteger;
Query.Open;

[b:060196994d]
Certo? Acho bem mais simples....
[/b:060196994d]


Responder

Gostei + 0

25/08/2005

Michelli88

Depois voce passa pra essa query o codigo digitado via parametro:
Query.Close;
Query.ParamByName(´CodDigitado´).AsInteger;
Query.Open;
[b:6754f907f9] Certo? Acho bem mais simples.... [/b:6754f907f9]

Ops, um errinho:

Query.Close;
Query.ParamByName(´CodDigitado´).AsInteger:=EditCodDigitado.text;
Query.Open;



Responder

Gostei + 0

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

Aceitar