Ajuda Sobre consulta por Data
31/05/2008
0
Bom Dia Galera!!!
tenho o seguinte codigo para fazer a consulta em minha tabela
o problema que estou enfrentando é o seguinte:
quero fazer uma busca por data só que da erro.
declarei uma variavel do tipo date
e fiz o seguinte:
variavel:=strtodate(Edit1.text);
para conversão de string para data ó que não da certo.
o codigo abaixo estou usando em um editchange
procedure TfrmMusica.edit1Change(Sender: TObject);
const
acampos: array[0..6] of string = (´Codigo´,´nome´, ´artista´, ´album´, ´estilo´,´KBPS´,´Data´);
var
instrucao: string;
begin
DM.cdsMusica.Close;
DM.cdsMusica.CommandText :=
´select * from MUSICA ´+
´where upper(´+acampos[RadioGroup1.ItemIndex]+´) like :parametro ´;
DM.cdsMusica.Params[0].AsString := UpperCase(Edit1.Text) + ´¬´;
DM.cdsMusica.Open;
como seria o código certo para todo ese problema?
Desde já eu agradeço!!!
tenho o seguinte codigo para fazer a consulta em minha tabela
o problema que estou enfrentando é o seguinte:
quero fazer uma busca por data só que da erro.
declarei uma variavel do tipo date
e fiz o seguinte:
variavel:=strtodate(Edit1.text);
para conversão de string para data ó que não da certo.
o codigo abaixo estou usando em um editchange
procedure TfrmMusica.edit1Change(Sender: TObject);
const
acampos: array[0..6] of string = (´Codigo´,´nome´, ´artista´, ´album´, ´estilo´,´KBPS´,´Data´);
var
instrucao: string;
begin
DM.cdsMusica.Close;
DM.cdsMusica.CommandText :=
´select * from MUSICA ´+
´where upper(´+acampos[RadioGroup1.ItemIndex]+´) like :parametro ´;
DM.cdsMusica.Params[0].AsString := UpperCase(Edit1.Text) + ´¬´;
DM.cdsMusica.Open;
como seria o código certo para todo ese problema?
Desde já eu agradeço!!!
Lsksskyblu
Curtir tópico
+ 0
Responder
Posts
31/05/2008
Mazzi
procedure TfrmMusica.edit1Change(Sender: TObject);
const
acampos: array[0..6] of string = (´Codigo´,´nome´, ´artista´, ´album´, ´estilo´,´KBPS´,´Data´);
var
instrucao: string;
begin
DM.cdsMusica.Close;
DM.cdsMusica.CommandText :=
´select * from MUSICA ´+
´where upper(´+acampos[RadioGroup1.ItemIndex]+´) like :parametro ´;
DM.cdsMusica.Params[0].AsString := UpperCase(Edit1.Text) + ´¬´;
DM.cdsMusica.Open;
[b:9c9f0af854]variavel:=strtodate(Edit1.text);
para conversão de string para data ó que não da certo.[/b:9c9f0af854]
[b:9c9f0af854]1- [i:9c9f0af854]esta instrucao vc nao colocou na sua procedure editChange?[/i:9c9f0af854]
2-Verifique se passando um parametro do Tipo DATE ou coloque apenas como VALUE;
3-Verifique a ordenacao do seu array com o RadioIndex, está ok;
4-Especifique para nós o erro que está dando;
5-Para campos do Tipo DATE, é ideal fazer comparacoes usando Where Datax = :param... ou Usar o Between :PDataInicial and :PDataFinal para conseguir pegar datas por intervalos pre-selecionados de (dataInicial e dataFinal)[/b:9c9f0af854]
Verifique esses itens, vlw?
Testei aqui, e só Where Data =:param... deu certo...
Abracos
const
acampos: array[0..6] of string = (´Codigo´,´nome´, ´artista´, ´album´, ´estilo´,´KBPS´,´Data´);
var
instrucao: string;
begin
DM.cdsMusica.Close;
DM.cdsMusica.CommandText :=
´select * from MUSICA ´+
´where upper(´+acampos[RadioGroup1.ItemIndex]+´) like :parametro ´;
DM.cdsMusica.Params[0].AsString := UpperCase(Edit1.Text) + ´¬´;
DM.cdsMusica.Open;
[b:9c9f0af854]variavel:=strtodate(Edit1.text);
para conversão de string para data ó que não da certo.[/b:9c9f0af854]
[b:9c9f0af854]1- [i:9c9f0af854]esta instrucao vc nao colocou na sua procedure editChange?[/i:9c9f0af854]
2-Verifique se passando um parametro do Tipo DATE ou coloque apenas como VALUE;
3-Verifique a ordenacao do seu array com o RadioIndex, está ok;
4-Especifique para nós o erro que está dando;
5-Para campos do Tipo DATE, é ideal fazer comparacoes usando Where Datax = :param... ou Usar o Between :PDataInicial and :PDataFinal para conseguir pegar datas por intervalos pre-selecionados de (dataInicial e dataFinal)[/b:9c9f0af854]
Verifique esses itens, vlw?
Testei aqui, e só Where Data =:param... deu certo...
Abracos
Responder
Clique aqui para fazer login e interagir na Comunidade :)