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 :)
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
Curtir tópico
+ 0
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]
Depois voce passa pra essa query o codigo digitado via parametro:
[b:060196994d]
Certo? Acho bem mais simples....
[/b:060196994d]
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:
[b:6754f907f9]
Certo? Acho bem mais simples....
[/b:6754f907f9]
Query.Close; Query.ParamByName(´CodDigitado´).AsInteger; Query.Open;
Ops, um errinho:
Query.Close; Query.ParamByName(´CodDigitado´).AsInteger:=EditCodDigitado.text; Query.Open;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)