Consulta Parametrizada ou Locate Qual a melhor?

Delphi

15/02/2008

Galera estou fazendo uma consulta e estou com duvidas em usar parametrizada ou Locate. Por favor uma luz

estou usando firebird 2.0 e delphi 7

eu criei uma consula parametriza em uma tabela da seguimte maneira:

select *from artista where upper(nome) like :nome

e no onclick do botão o seguinte:

DM.cdsArtista.close;
DM.cdsArtista.params[0].asstring:=uuperCase(edit.text) + ´¬´;
DM.cdsArtista.open;

quando abro o form de artista e faço a busca da o seguinte erro:

List index out of sound(0)

valeu galera!!!!


Lskskyblue

Lskskyblue

Curtidas 0

Respostas

Paullsoftware

Paullsoftware

15/02/2008

A melhor forma de se trabalhar seria usando consultas SQL mesmo, o locate em tabelas muito grandes podem ficar muito lentas...
não sei porque está dando erro na sua instrução mais tenta usar o [b:f1c5e2f56f]starting with[/b:f1c5e2f56f] eu sempre uso ele, acho melhor e sempre funcionou comigo, outra coisa... antes de tentar rodar qualquer SQL na aplicação, testa no seu banco pra ver se tá funcionando depois é só trocar por parametros da aplicação!!!

select * from artista where upper(nome) starting with upper(:nome)
e para rodar na aplicação basta fazer:
DM.cdsArtista.close; 
DM.cdsArtista.Params[0].asstring := edit.text;
//a linha acima também poderia ser assim
//DM.cdsArtista.Params.ParamByName(´NOME´).AsString := Edit.Text;
DM.cdsArtista.open;
espero ter ajudado :wink:


GOSTEI 0
Flyskin

Flyskin

15/02/2008

Com certeza consulta parametrizada é mais rápido... uma outra sugestão é somente trazer os campos que irá utilizar, tente evitar de usar o * nos selects para reduzir o tráfego de rede...


GOSTEI 0
POSTAR