Fórum Existe algum problema no ADO Access no Delphi7 #284387
10/06/2005
0
Caros amigos,
Estou tendo um problema com o Delphi 7(Update1) + Access + ADO.
Veja que na função abaixo eu verifico se a pessoa ja tem cadastro através
do CPF(String) - se o retorno for >0 então(true).
A função funciona perfeitamente no Delphi 5, porém não funciona
no Delphi 7.
function TFrmTotem.CPFJaExiste(CPF:string) : boolean;
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(´SELECT COUNT(*) AS NUMERO ´);
Query1.SQL.Add(´FROM FUNCIONARIOS´);
Query1.SQL.Add(´WHERE CPF = :Parametro0´);
[color=red:699d2ccfe7]//Esta pasagem de parametro só está funcionando no Delphi 5[/color:699d2ccfe7]
[color=blue:699d2ccfe7]Query1.Parameters[0].Value := CPF;[/color:699d2ccfe7]
Query1.Open;
//O retorno da função é o COUNT da query
Result := Query1NUMERO.asInteger>0;
end;
[color=red:699d2ccfe7]Existe algum problema no ADO no Delphi7.[/color:699d2ccfe7] :?:
Estou tendo um problema com o Delphi 7(Update1) + Access + ADO.
Veja que na função abaixo eu verifico se a pessoa ja tem cadastro através
do CPF(String) - se o retorno for >0 então(true).
A função funciona perfeitamente no Delphi 5, porém não funciona
no Delphi 7.
function TFrmTotem.CPFJaExiste(CPF:string) : boolean;
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(´SELECT COUNT(*) AS NUMERO ´);
Query1.SQL.Add(´FROM FUNCIONARIOS´);
Query1.SQL.Add(´WHERE CPF = :Parametro0´);
[color=red:699d2ccfe7]//Esta pasagem de parametro só está funcionando no Delphi 5[/color:699d2ccfe7]
[color=blue:699d2ccfe7]Query1.Parameters[0].Value := CPF;[/color:699d2ccfe7]
Query1.Open;
//O retorno da função é o COUNT da query
Result := Query1NUMERO.asInteger>0;
end;
[color=red:699d2ccfe7]Existe algum problema no ADO no Delphi7.[/color:699d2ccfe7] :?:
Pehdepano
Curtir tópico
+ 0
Responder
Posts
10/06/2005
Rjun
Tente usar ParameterByName.
Se a função é só pra saber se existe registro, sugiro uma alteração.
Se a função é só pra saber se existe registro, sugiro uma alteração.
function TFrmTotem.CPFJaExiste(CPF:string) : boolean;
begin
Query1.SQL.Clear;
Query1.SQL.Add(´SELECT Top 1 CPF´);
Query1.SQL.Add(´FROM FUNCIONARIOS´);
Query1.SQL.Add(´WHERE CPF = :Parametro0´);
Query1.Parameters.ParamByName(´Parametro0´).Value := CPF;
Query1.Open;
try
{
Result := not Query1.IsEmpty;
}
finally
{
Query1.Close;
}
end;
Responder
Gostei + 0
10/06/2005
Alfadesign
function TFrmTotem.CPFJaExiste(CPF:string) : boolean; begin Query1.Close; Query1.SLQ.TEXT := ´SELECT COUNT(*) AS NUMERO FROM FUNCIONARIOS WHERE CPF = ´ + ´´´´ + CPF + ´´´´; Query1.Open; Result := Query1.recordcount > 0; end;
Se vc está alimentando a sql em tempo de execução não tem por que usar parâmetros, basta concatenar o valor diretamente na sql.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)