GARANTIR DESCONTO

Fórum Parâmetro Data em ADOQuery. #230342

06/05/2004

0

Não estou conseguindo definir 1 parâmetro de uma ADOquery pra ftDate, toda vez q marco ftDate, ele muda pra ftDateTime, alguém sabe o q pode estar acontecendo?


D4rk Schn31d3r

D4rk Schn31d3r

Responder

Posts

06/05/2004

Edineidaniel

Dark,

tenho outra forma de passar parâmetros para um Query ou IBQuery:

//Consultar períodos reservados, para este objeto, nesta data;
With DmManCR01.IBQryRes Do
Begin
Close;
SQL.Clear;
Sql.Add(´ Select t02.vrcNomUsu, t03.vrcDesPer, t04.vrcDesDst, t01.vrcStaRes ´);
Sql.Add(´ From TbResPer t01 ´);
Sql.Add(´ Where t01.intCodObj = :p01 and ´);
Sql.Add(´ t01.dteDtrRes = :p02 and ´);
Sql.Add(´ Order By t03.vrcDesPer ´);
Params[00].AsInteger := RxDBLkpCmbintCodObj.KeyValue;
Params[01].AsDate := DtEdtdteDtrRes.Date;
Open;
End;

Nunca tive problemas...

t+
Edinei


Responder

Gostei + 0

06/05/2004

D4rk Schn31d3r

Hmmm, vc passa esse código em tempo de execução? Q trabalheira! Eu nunca tive problema de setar um parâmetro para qq q fosse, usando BDE/SQL Server, mas pelo fato de ter q desenvolver essa aplicação em Access 2000, tive q usar o ADOquery (uma vez q o BDE e Access não funcionam direito), e é a partir disso, estou tendo esse tipo de problema com o param. ftDate.


Responder

Gostei + 0

07/05/2004

Aroldo Zanela

Colega,

Eu nunca precisei alterar os tipos de dados usandos os componentes ADO, apenas utilizo o FormateDateTime para passar os parâmetros, quando necessário.


Responder

Gostei + 0

07/05/2004

D4rk Schn31d3r

Mas com o ftDateTime, vc está conseguindo fazer consulta com datas? Eu estou passando o parâmetro assim:

frmDm.qryConsMov.Close;

frmDm.qryConsMov.Parameters.ParamByName(´prmDatInic´).Value := StrToDate(edtDatInic.Text);

frmDm.qryConsMov.Parameters.ParamByName(´prmDatFin´).Value := StrToDate(edtDatFin.Text);

frmDm.qryConsMov.Open;


Na query do BDE, conseguia definir .AsDate ao invés de .Value, será q isso tem algo a ver?


Responder

Gostei + 0

07/05/2004

Comodelphi

Na realidade vc não precisa definir o tipo de dado do parametro, o Default da propriedade é um variant. E o mecanismo do banco sempre avalisa expressão de qualquer jeito. Mas no caso do access eu passo parametro para a query e o converto com CvDate(:ArgData).

Nunca falha.


Responder

Gostei + 0

07/05/2004

D4rk Schn31d3r

Nunca falha mesmo, hehehe. Valeu, tá certinho aqui agora. Com o BDE, não havia esse problema qd setava o parâmetro para ftDate, não sei realmente pq na ADOquery ele não deixa fazer isso. De qq modo, uma curiosidade, qd vc tem q setar um parâmetro para inteiro, vc usa uma outra função de conversão ou clica em ftInteger?


Responder

Gostei + 0

07/05/2004

Comodelphi

ok....

Quando é string:

qryCliente.ParamByName(´Nome´).Value := QuotedStr(ValorStr);

Quando é inteiro:

qryCliente.ParamByName(´Nome´).Value := ValorInt;

e na query não precisa usar nenhuma função para converter e nem mudar o tipo do parametro


Responder

Gostei + 0

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

Aceitar