RecordCount = -1
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 :?:
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
Curtidas 0
Respostas
Rscrj
03/05/2003
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
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
Dor_poa
03/05/2003
qual banco esta usando... ??
GOSTEI 0
Luger
03/05/2003
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.
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
Motta
03/05/2003
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.
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
Werlon Goulart
03/05/2003
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
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
Rakov
03/05/2003
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
tente usar o query.fetchAll para ver se soluciona seu problema
este ultimo pode deixar a aplicação lenta
GOSTEI 0
Anderson_blumenau
03/05/2003
não seria -1 para nenheum valor e 0 para o primeiro???
GOSTEI 0
Afarias
03/05/2003
|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+
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