Fórum Saber se TSQLQuery retorno algo? #327531
16/08/2006
0
lembrando que o recordcount não funciona com a TsqlQuery.
Sistemald
Curtir tópico
+ 0Posts
16/08/2006
Marco Salles
Acho que isto se aplica ao RecNo se não me engano.. O RecCount acho que não tem problema apesar de não ser talvez a melhor solução
Gostei + 0
16/08/2006
Siam
Gostei + 0
16/08/2006
Sistemald
o recno sempre retorna [b:17b9bf0bcc]-1[/b:17b9bf0bcc]
Alguma outra dica?
Gostei + 0
16/08/2006
Sistemald
Gostei + 0
16/08/2006
Marco Salles
uma saida , não testei , mas acredito que funcione é testar o valor de um campo..... A principio este campo tem que ser Not Null
sqlQuery.Active:=True; if sqlQuery.fieldByName(´NomeDoCampo´).AsString = ´´ Then //não retornou nada else //retornou algo; sqlQuery.Active:=False;
Gostei + 0
16/08/2006
Siam
Gostei + 0
16/08/2006
Sistemald
select campo1,campo2 form tabela1 where campo1 = :codigo
onde esse campo1 seria a chave primaria, então preciso saber se vira um registro ou não.
Eu usava a suite MDOQUery, funcionava perfeitamente, porém com o Dbexpress(TsqlQuery) estou tendo este problema, pq o comando RecordCount foi bloqueado.
Gostei + 0
16/08/2006
Jáder Medeiros
DataSet.FieldByName(´campo1´).IsNull
Mas se você quiser saber quantos registros existem nesse seu componente, sugiro criar uma função própria para contar. Ex:
Function ContaRegistros(qryParam: TSQLQuery): Integer; var qryTemp: TSQLQuery; begin qryTemp := TSQLQuery.Create(nil); Result := 0; try qryTemp.SQLConnection := qryParam.SQLConnection; qryTemp.SQL.Add(´SELECT COUNT(*) QUANT FROM (´); qryTemp.SQL.AddStrings(qryParam.SQL); if Pos(´ORDER BY´,UpperCase(qryTemp.SQL.Strings[qryTemp.SQL.Count-1])) > 0 then qryTemp.SQL.Delete(qryTemp.SQL.Count-1); //Remove critério de ordenação para não dar erro de ANSI SQL qryTemp.Params.Assign(qryParam.Params); qryTemp.SQL.Add(´)´); qryTemp.Open; Result := qryTemp.Fields[0].AsInteger finally qryTemp.Free end end;
Gostei + 0
18/08/2006
Marco Salles
não pense que este jeito lhe dará algum problema , ou aborrecimento . Algo que não acredito que aconteça...
Gostei + 0
21/08/2006
Sistemald
Gostei + 0
21/08/2006
Marco Salles
Mas quanto a afirmação:
isto não é bem assim
o fato é que eu disse anteriormente :
[b:62bb5161d6]Citação de marco salles[/b:62bb5161d6]
e se voce esta fazendo o teste em um campo que pode ser nulo , voce esta ´comprometendo´ a dica
No meu conceito , ao fazer um Sql , numa base de dados , sem usar o RecCount , da para saber se esta Sql , retornou ou não Registro. Desde que um campo desta Sql seje Not Null...Então eu não preciso fazer mais nenhuma requisação ao servidor...
Gostei + 0
21/08/2006
Sistemald
Gostei + 0
22/08/2006
Marco Salles
isto de todo não é verdade. Se isto esta ocorrendo com voce em seu projeto , acho que tem como impedir estes valores indesejáveis
Isto sem duvida não faz parte do tópico inicial , mas fica aqui o registro
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)