Fórum Exibir resultado de consulta no DBGrid #323876

20/06/2006

0

Pessoal,
Tenho um form contendo um TEdit, um TButton, um DBGrid e um DataSource. Neste form o usuário digita um nome (ou parte dele) e ao clicar no TButton, no DBGrid deve retornar as ocorrências. Tenho também um DataModule com os seguintes componentes: TSQLQuery, TDataSetProvider e TClientDataSet. Na propriedade SQLConnection do TSQLQuery vinculei a outro DataModule onde está o componente TSQLConnection para minha base de dados.
Na propriedade SQL do TSQLQuery, digitei o seguinte comando: SELECT NUM_ORDEM, NM_PAC, DT_NASC, DT_ATEND
FROM TB_ATEND WHERE NM_PAC CONTAINING :NOME

No DataSource do form de consulta, ajustei a propriedade DataSet para o ClientDataSet e o DBGrid está ligado a este DataSource.
No evento OnClick do TButton, coloquei as seguintes linhas de comando:
DMConsAtend.cdsConsAtend.Close;
DMConsAtend.cdsConsAtend.FetchParams;
DMConsAtend.cdsConsAtend.Params.ParamByName(´Nome´).AsString := Edit.Text;
DMConsAtend.cdsConsAtend.Open;

Quando rodo a aplicação, abro o form, digito no Edit o nome e clico no botão, não está me retornando nada no DBGrid.
O que pode estar de errado? Estou usando D6 com Firebird 1.5.


Faber

Faber

Responder

Posts

20/06/2006

Daniel Martins

olá, já tentou colocar um Like ao invés de CONTAINING?
tipo

SELECT NUM_ORDEM, NM_PAC, DT_NASC, DT_ATEND 
FROM TB_ATEND WHERE NM_PAC LIKE :NOME 


dpois no TButton vc Coloca:
DMConsAtend.cdsConsAtend.FetchParams; 
DMConsAtend.cdsConsAtend.Close; 
DMConsAtend.cdsConsAtend.Params.ParamByName(´Nome´).AsString := Edit.Text+´¬´; 
DMConsAtend.cdsConsAtend.Open; 

o parametro :NOME tem q ser do tipo string...


Responder

Gostei + 0

20/06/2006

Daniel Martins

Tambem pode ser Sensivel a Maiúscula ou minúscula... vc pode tentar o código:
DMConsAtend.cdsConsAtend.FetchParams; 
DMConsAtend.cdsConsAtend.Close; 
DMConsAtend.cdsConsAtend.Params[0].AsString := Edit.Text+´¬´; 
DMConsAtend.cdsConsAtend.Open; 

ou

DMConsAtend.cdsConsAtend.FetchParams; 
DMConsAtend.cdsConsAtend.Close; 
DMConsAtend.cdsConsAtend.Params.ParamByName(´NOME´).AsString := Edit.Text+´¬´; 
DMConsAtend.cdsConsAtend.Open; 




Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar