Pesquisa iniciante...
Ola pessoal.
Bem é o seguinte temho 2 DbLookUpComboBox opções diferentes, quero que eesa pesquisa que faço apareca num DBGrid, mas aparece o seguinte erro
´PARAMETRO ´FAIXA´ NAO ENCONTRADO´
o codigo é esse.....vejam só....
procedure TUCFaixa.BitBtn1Click(Sender: TObject);
begin
QryProfessores.close;
QryProfessores.sql.clear;
QryProfessores.sql.add(´SELECT * FROM professores WHERE ´+ ´faixa = :DbLookUpComboBox1´
+ ´AND situacao = :DbLookUpComboBox2´);
QryProfessores.parambyname(´Faixa´).Asstring := DbLookUpComboBox1.text ;
QryProfessores.parambyname(´Situacao´).Asstring := DbLookUpComboBox2.text ;
QryProfessores.open;
DbGrid1.DataSource:= DSProfessores
[]´ junior
grato
Bem é o seguinte temho 2 DbLookUpComboBox opções diferentes, quero que eesa pesquisa que faço apareca num DBGrid, mas aparece o seguinte erro
´PARAMETRO ´FAIXA´ NAO ENCONTRADO´
o codigo é esse.....vejam só....
procedure TUCFaixa.BitBtn1Click(Sender: TObject);
begin
QryProfessores.close;
QryProfessores.sql.clear;
QryProfessores.sql.add(´SELECT * FROM professores WHERE ´+ ´faixa = :DbLookUpComboBox1´
+ ´AND situacao = :DbLookUpComboBox2´);
QryProfessores.parambyname(´Faixa´).Asstring := DbLookUpComboBox1.text ;
QryProfessores.parambyname(´Situacao´).Asstring := DbLookUpComboBox2.text ;
QryProfessores.open;
DbGrid1.DataSource:= DSProfessores
[]´ junior
grato
Anonymous
Curtidas 0
Respostas
Anonymous
12/03/2003
Modifique os ParamByName eles estão errados, o Parâmetro do ParamByname deve ser o que está do lado direito do ´[b:b35a4f3e5a]=[/b:b35a4f3e5a]´ e do lado direito do ´[b:b35a4f3e5a]:[/b:b35a4f3e5a]´, modifique os parambyname para:
QryProfessores.parambyname(´[b:b35a4f3e5a]DbLookUpComboBox1[/b:b35a4f3e5a]´).Asstring := DbLookUpComboBox1.text ;
QryProfessores.parambyname(´[b:b35a4f3e5a]DbLookUpComboBox2[/b:b35a4f3e5a]´).Asstring := DbLookUpComboBox2.text ;
ou modifique o Sql.Add para:
QryProfessores.sql.add(´SELECT * FROM professores WHERE ´+ ´faixa = [b:b35a4f3e5a]:faixa[/b:b35a4f3e5a]´
+ ´AND situacao = [b:b35a4f3e5a]:situacao[/b:b35a4f3e5a]´);
QryProfessores.parambyname(´[b:b35a4f3e5a]DbLookUpComboBox1[/b:b35a4f3e5a]´).Asstring := DbLookUpComboBox1.text ;
QryProfessores.parambyname(´[b:b35a4f3e5a]DbLookUpComboBox2[/b:b35a4f3e5a]´).Asstring := DbLookUpComboBox2.text ;
ou modifique o Sql.Add para:
QryProfessores.sql.add(´SELECT * FROM professores WHERE ´+ ´faixa = [b:b35a4f3e5a]:faixa[/b:b35a4f3e5a]´
+ ´AND situacao = [b:b35a4f3e5a]:situacao[/b:b35a4f3e5a]´);
GOSTEI 0
Anonymous
12/03/2003
Velho, valeu da dica
fiz a alteração mas o erro ainda persiste.....
da um olhada..
procedure TUCFaixa.BitBtn1Click(Sender: TObject);
begin
QryProfessores.close;
QryProfessores.sql.clear;
QryProfessores.sql.add(´SELECT * FROM professores WHERE ´+ ´faixa = :faixa´
+ ´AND situacao = :situacao´);
QryProfessores.parambyname(´Faixa´).Asstring := DbLookUpComboBox1.text ;
QryProfessores.parambyname(´Situacao´).Asstring := DbLookUpComboBox2.text ;
QryProfessores.open;
DbGrid1.DataSource:= DSProfessores;
end;
fiz a alteração mas o erro ainda persiste.....
da um olhada..
procedure TUCFaixa.BitBtn1Click(Sender: TObject);
begin
QryProfessores.close;
QryProfessores.sql.clear;
QryProfessores.sql.add(´SELECT * FROM professores WHERE ´+ ´faixa = :faixa´
+ ´AND situacao = :situacao´);
QryProfessores.parambyname(´Faixa´).Asstring := DbLookUpComboBox1.text ;
QryProfessores.parambyname(´Situacao´).Asstring := DbLookUpComboBox2.text ;
QryProfessores.open;
DbGrid1.DataSource:= DSProfessores;
end;
GOSTEI 0
Anonymous
12/03/2003
Eu não tenho certeza, mas tenta o seguinte
QryProfessores.sql.add(´SELECT * FROM professores WHERE ´+
´faixa =:faixa ´+
´AND situacao =:situacao´);
a única alteração é um espaço amais depois do :faixa tenta e qualquer coisa posta de novo..
QryProfessores.sql.add(´SELECT * FROM professores WHERE ´+
´faixa =:faixa ´+
´AND situacao =:situacao´);
a única alteração é um espaço amais depois do :faixa tenta e qualquer coisa posta de novo..
GOSTEI 0
Anonymous
12/03/2003
pelo que eu pude entender !!!
se a faixa e um valor que fica entre um e outro
vc tem que colocar :
select * from tabela where faixa >= :faixainicial
and faixa <= faixafinal
ou
select * from tabela where faixa between :faixainicial and :faixafinal
se a faixa e um valor que fica entre um e outro
vc tem que colocar :
select * from tabela where faixa >= :faixainicial
and faixa <= faixafinal
ou
select * from tabela where faixa between :faixainicial and :faixafinal
GOSTEI 0
Anonymous
12/03/2003
como assim camarada nao entendi......
GOSTEI 0
Jeancamila
12/03/2003
Olha o exemplo abaixo:
query1.close;
query1.sql.clear;
query1.sql.add(´select * from tabela1 where campo1=:par1 and campo2=:par2´);
query1.params[0].value:=dblookupcombobox1.text;
query1.params[1].value:=dblookupcombobox2.text;
query1.open;
//params é do tipo vetor por isso o 1º parametro é 0 e o 2º é 1.
Espero que tenha ajudado!
query1.close;
query1.sql.clear;
query1.sql.add(´select * from tabela1 where campo1=:par1 and campo2=:par2´);
query1.params[0].value:=dblookupcombobox1.text;
query1.params[1].value:=dblookupcombobox2.text;
query1.open;
//params é do tipo vetor por isso o 1º parametro é 0 e o 2º é 1.
Espero que tenha ajudado!
GOSTEI 0