GARANTIR DESCONTO

Fórum RecordCount = -1 #157783

03/05/2003

0

Olá Galera !

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

Luger

Responder

Posts

05/05/2003

Rscrj

Caro Luiz,

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


Responder

Gostei + 0

05/05/2003

Dor_poa

qual banco esta usando... ??


Responder

Gostei + 0

06/05/2003

Luger

Olá galera, obrigado por responder !

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.


Responder

Gostei + 0

06/05/2003

Motta

TBDEDataSet.RecordCount

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.


Responder

Gostei + 0

06/05/2003

Werlon Goulart

Tente usar o Query.IsEmpty já q se a consulta nao retornar nada (nenhum registro...) o IsEmpty estará setado com True, e se retornar estara setado como False.

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


Responder

Gostei + 0

03/08/2003

Rakov

o melhor jeito é utilizar o .isEmpty
tente usar o query.fetchAll para ver se soluciona seu problema
este ultimo pode deixar a aplicação lenta


Responder

Gostei + 0

03/08/2003

Anderson_blumenau

não seria -1 para nenheum valor e 0 para o primeiro???


Responder

Gostei + 0

03/08/2003

Afarias

|não seria -1 para nenheum valor e 0 para o primeiro???


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+


Responder

Gostei + 0

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

Aceitar