Terry 0 Denunciar post Postado Novembro 30, 2007 Preciso fazer uma consulta sql para buscar na tabela uma palavra digitada num edit1 tenho o seguinte codigo mas não esta funcionando, não tenho muita experiencia em consultas sql gostaria de saber se alguem poderia me orientar com um passo-a-passo ou pelo menos sobre os comandos que colocamos no campo SQL do QUERY1, e ou em algum outro lugar, no campo SQL do QUERY1 eu coloquei a seguinte linha: select * from 'table1' Este codigo abaixo estou colocando dentro de um botão. para q isto funcione eu preciso mexer em alguma outra coisa q eu não citei? try query1.Close; query1.SQL.Clear; query1.SQL.Add('select * from table1'); query1.SQL.Add('where table1 = '+ quotedstr(edit1.Text)); query1.Open; Obrigado!!! Compartilhar este post Link para o post Compartilhar em outros sites
ElyCristina 0 Denunciar post Postado Novembro 30, 2007 Você deve colocar o nome do campo para que receba o parametro que no caso é o campo edPesquisa. if EdPesquisa.text <> '' then begin DmSistema.TbCursoPesq.Close; DmSistema.TbCursoPesq.SelectSQL.Clear; DmSistema.TbCursoPesq.SelectSQL.Add(' select * from curso'); DmSistema.TbCursoPesq.SelectSQL.Add(' WHERE nomecurso LIKE '+#39+'%'+edPesquisa.Text+'%'+#39); //costumo utilizar o like para pesq. em campo DmSistema.TbCursoPesq.Open; if DmSistema.TbCursoPesq.IsEmpty then begin showmessage('Curso não encontrado!'); Activecontrol := edPesquisa; end else ActiveControl := GCurso; //Gcurso é um dbgrid para mostrar os resultados end; Qualquer coisa volto a tentar ajuda-lo Compartilhar este post Link para o post Compartilhar em outros sites
Terry 0 Denunciar post Postado Novembro 30, 2007 Obrigado pela ajuda agora esta funcionando corretamente a pesquisa. So uma duvida ao invez de utilizar o LIKE eu posso utilizar o BETWEEN para uma pesquisa entre 2 datas, a linha de comando seria a mesma? Obrigado!! Compartilhar este post Link para o post Compartilhar em outros sites
ElyCristina 0 Denunciar post Postado Novembro 30, 2007 Para utilizar o between você deve colocar na linha do where assim DmSistema.tbMensalidade.SelectSQL.Add('where mensalidades.datavencimento between :PINICIO AND :PFIM'); DmSistema.tbMensalidade.ParamByName('PINICIO').AsDateTime := PPERIDO1.Date; DmSistema.tbMensalidade.ParamByName('PFIM').AsDateTime := PPERIDO1.Date; DmSistema.tbMensalidade.open; //onde :PINICIO corrensponde a data inicial e :PFIM a data final //PPERIODO1.date é o nome do campo você encontra ele se instalar o RxLibD7 //ou você pode converter um campo text com maskara ex: strtodate(PPERIDO1.text); //depende dos seus recursos espero que ajude... qualquer coisa volte a postar Compartilhar este post Link para o post Compartilhar em outros sites