Fórum Consulta por Data banco firebird #374259
29/08/2009
0
Estrutura: No meu datamodule tenho 4 componentes
1-TSQLQuery
1-ClienteDataSet
1-DataSetProvider
1-DataSource
TSQLQuery ligado ao meu TSQLConnection
ClientDataSet ligado ao DataSetProvider
DataSetProvider ligado ao TSQLQuery
DataSource Ligado ao ClientDataSet
Na minha aplicação o codigo esta como descrito abaixo.
Função do botao.
begin
dmprincipal.SQLQuery1.Close;
dmprincipal.SQLQuery1.SQL.Clear;
dmprincipal.SQLQuery1.SQL.Add (´select * from TB_SIGEM´);
dmprincipal.SQLQuery1.SQL.Add(´ where MODIFICADO between ´ + ´´´´ + Maskedit1.Text + ´´´´ + ´and´ + ´´´´+ Maskedit2.Text + ´´´´);
dmprincipal.SQLQuery1.Open;
end;
sendo q a minha data nao esta convertida como dd-mm-yyyy se vc puder me dizer como faço para converter ficarei grato.
Desde ja agreço a ajuda.
Fcorrea82
Curtir tópico
+ 0Posts
31/08/2009
Osocram
Gostei + 0
31/08/2009
Emerson Nascimento
algo assim:
begin with dmprincipal.ClientDataset1 do begin Close; CommandText := ´select * from TB_SIGEM ´+ ´where MODIFICADO between :dataini and :datafim´; Params[0].AsSQLTimeStamp := DateTimeToSQLTimeStamp(StrToDate(Maskedit1.Text)); Params[1].AsSQLTimeStamp := DateTimeToSQLTimeStamp(StrToDate(Maskedit2.Text)); Open; end; end;
para poder alterar o commandtext do ClientDataset, modifique a propriedade Options do DatasetProvider de modo a ficar com poAllowCommandText = True.
para utilizar a função DateTimeToSQLTimeStamp inclua a unit SQLTimSt na cláusula uses.
Gostei + 0
31/08/2009
Vitor Rubio
Se você for trabalhar com multi camadas eu aconselho a usar sqldataset e usar a propriedade commandtext dele e não do CDS.
Outra dica interessante, visualmente, é quando você usar filtros por datas, usar o TDateTimePicker. Ele mostra aquele calendariozinho para o usuario escolher a data se ele não quiser digitar, e se ele quiser o DateTimePicker já tem o formato de data correto. Alem disso ele te retorna uma data no formato TDateTime sem a necessidade de conversão.
Gostei + 0
31/08/2009
Emerson Nascimento
no caso de programação n-camadas eu também recomendo usar sqldataset, mas no caso do commandtext, sugiro exatamente o contrário do que você recomendou.
Gostei + 0
31/08/2009
Vitor Rubio
Usar o commnadtext do CDS usando n-Tier você força a camada cliente, (de apresentação) a saber montar sql´s dependendo da ocasião e ainda perde alguns recursos do CDS.
Um dos problemas era esse, de quebrar o conceito de ´Regras de negócio apneas no servidor´.
Tinha um outro problema que eu vi no NDDV, mas não consigo me lembrar. Deu branco, não consigo lembrar se tinha a ver com performance, transações.... ou se era o packet records que para de funcionar...
Mas, como eu disse, depende muito do problema. Eu também uso, as vezes.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)