Consulta Parametrizada ou Locate Qual a melhor?
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!!!!
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
Curtidas 0
Respostas
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!!!
espero ter ajudado :wink:
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;
GOSTEI 0
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