#URGENTE Preciso converter uma string para data no interbas
Estou fazendo o seguinte, mas não está funcionando, alguém pode me ajudar
IbQuery1.SQL.Add(´select data from movimento ´+
´ where data >= ´+DateToStr(varData1) +´ order by mofdat asc´);
Só que ele pede pra ter aspas simples, mas como eu coloco isso.
Agradeço quem pode me ajudar
IbQuery1.SQL.Add(´select data from movimento ´+
´ where data >= ´+DateToStr(varData1) +´ order by mofdat asc´);
Só que ele pede pra ter aspas simples, mas como eu coloco isso.
Agradeço quem pode me ajudar
Impactus
Curtidas 0
Respostas
Mysys
19/09/2003
//==== Voce fez isso
IbQuery1.SQL.Add(´select data from movimento ´+
´ where data >= ´+DateToStr(varData1) +´ order by mofdat asc´);
//==== Temte assim
QRY.Sql.Add(´select data from movimento ´);
QRY.Sql.Add(´where data >= :Parametro_Data order by mofdat asc´);
//==== C tua variavel for String o parametro fica assim
QRY.Params[0].AsDateTime := StrToDate(VarData1);
//==== C tua variavel for date o parametro fica assim
QRY.Params[0].AsDateTime := VarData1;
QRY.Open;
IbQuery1.SQL.Add(´select data from movimento ´+
´ where data >= ´+DateToStr(varData1) +´ order by mofdat asc´);
//==== Temte assim
QRY.Sql.Add(´select data from movimento ´);
QRY.Sql.Add(´where data >= :Parametro_Data order by mofdat asc´);
//==== C tua variavel for String o parametro fica assim
QRY.Params[0].AsDateTime := StrToDate(VarData1);
//==== C tua variavel for date o parametro fica assim
QRY.Params[0].AsDateTime := VarData1;
QRY.Open;
GOSTEI 0
Stci
19/09/2003
O Impactus, a solução que o MySys colocou funciona, mas caso você queira colocar os apóstofros no SQL, segue uma das maneiras abaixo.
IbQuery1.SQL.Add(´select data from movimento ´+
´ where data >= ´´´+DateToStr(Date) +´´´ order by mofdat asc´);
Obs: Caso você faça isto, verifique a formatação da data, pois pode dar erro com dd/mm/aaaa no SQL, você pode arrumar isto utilizando o ShortDateFormat antes do SQL como:
ShortDateFormat := ´mm/dd/yyyy´;
IbQuery1.SQL.Add(´select data from movimento ´+
´ where data >= ´´´+DateToStr(Date) +´´´ order by mofdat asc´);
ShortDateFormat := ´dd/mm/yyyy´;
Espero ter ajudado.
Maurício Rocha
IbQuery1.SQL.Add(´select data from movimento ´+
´ where data >= ´´´+DateToStr(Date) +´´´ order by mofdat asc´);
Obs: Caso você faça isto, verifique a formatação da data, pois pode dar erro com dd/mm/aaaa no SQL, você pode arrumar isto utilizando o ShortDateFormat antes do SQL como:
ShortDateFormat := ´mm/dd/yyyy´;
IbQuery1.SQL.Add(´select data from movimento ´+
´ where data >= ´´´+DateToStr(Date) +´´´ order by mofdat asc´);
ShortDateFormat := ´dd/mm/yyyy´;
Espero ter ajudado.
Maurício Rocha
GOSTEI 0
Afarias
19/09/2003
Outra solução para o formato da data como bem colocado pelo STCI é utilizando a função FormatDateTime (assim não é necessário alterar o valor do ShortDateFormat)::
IbQuery1.SQL.Add(´select data from movimento ´+
´ where data >= ´´´+FormatDateTime(´mm/dd/yyyy´, Date) +´´´ order by mofdat asc´);
ou ::
IBQuery1.SQL.Text := Format(´select data from movimento where data >= ¬s order by mofdat asc´, [QuoteStr(FormatDateTime(´mm/dd/yyyy´, Date))]);
T+
IbQuery1.SQL.Add(´select data from movimento ´+
´ where data >= ´´´+FormatDateTime(´mm/dd/yyyy´, Date) +´´´ order by mofdat asc´);
ou ::
IBQuery1.SQL.Text := Format(´select data from movimento where data >= ¬s order by mofdat asc´, [QuoteStr(FormatDateTime(´mm/dd/yyyy´, Date))]);
T+
GOSTEI 0