Fórum RecordCount = -1 #157783
03/05/2003
0
Alguém saberia dizer porque as vezes ao fazer uma pesquisa através de uma query, quando é encontrado registros para essa pesquisa é retornado -1 para RecordCount ?
Obrigado.
Luiz :?:
Luger
Curtir tópico
+ 0Posts
05/05/2003
Rscrj
Quando você pede para retornar uma consulta, você usa uma variavel para isso, talvez esse possa ser o seu erro, utilize uma variavel inteira para guardar o número que você procurou e tente novamente.
Atenciosamente
rscrj
Gostei + 0
05/05/2003
Dor_poa
Gostei + 0
06/05/2003
Luger
Bem eu utilizo o banco de dados Oracle, e o meu projeto faz a seguinte pesquisa, verificando no banco para tirar uma prova esse código está cadastrado... bem eu sei que quando o recordcount é igual a zero (0) é porque não existe, não retornou nenhum registro....
O que eu não entendo é porque retorna -1... eu consegui solucionar isso usando <> de zero.... mas fiquei curioso pra saber porque retorna -1.
Segue o código de pesquisa !
query.Close;
query.ParamByName(´COD´).AsString:= ´1.10.11´;
query.Open;
If dmPM.qryConsPM.RecordCount = 0 Then
showmessage(´produto não encontrado´)
Else
showmessage(´produto já cadastrado´);
Obrigado.
Gostei + 0
06/05/2003
Motta
TBDEDataSetSee alsoExample
Indicates the total number of records associated with the dataset.
property RecordCount: Longint;
Description
Examine RecordCount to determine the total number of records in the dataset. Applications might use this property with RecNo to iterate through all the records in a dataset, though typically record iteration is handled with calls to First, Last, MoveBy, and Prior.
Note:Use RecordCount with care, because record counting can be a costly operation, especially for SQL queries that return large result sets. Generally, an application should only use RecordCount with Paradox and dBASE tables.
Gostei + 0
06/05/2003
Werlon Goulart
Mas observe q em consultas com funções agregadas (Sum, Count e etc...)
este metodo ira falhar pois um registro ao menos ira ser retornado, mesmo q sua consulta nao tenha encontrado nenhum registro q satisfaça sua clausula Where.
Um Abraço
Werlon Goulart
Gostei + 0
03/08/2003
Rakov
tente usar o query.fetchAll para ver se soluciona seu problema
este ultimo pode deixar a aplicação lenta
Gostei + 0
03/08/2003
Anderson_blumenau
Gostei + 0
03/08/2003
Afarias
NÃO.
O RecordCount ínforma em geral o número de registros no buffer do DataSet. Entretanto, depende da implementação do DataSet para cada banco de dados.
Se retorna -1 é q o DataSet/banco de dados utilizado não suporta/implementa o RecordCount (note q muitas vezes, depende também das propriedades do DataSet).
T+
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)