Mark
Sorry called you "Mike" is the last email, You don't have to create the
param
It sounds like the error you are getting is from the BDE, so I'll be
interested
to see if my suggestions work
If you want to do a 'static' param do
SQL.Text := 'select * from table where date = '''%s'''';
SQL.Text := format(SQL.Text,[DateToStr(CurrentDate)]);
I'd really like a DateToStrF function where you can pass the format string
i.e. DateToStrF(CurrentDate,'dd/MM/yyyy')
HTH
Neven
----- Original Message -----
From: Mark Howard <[EMAIL PROTECTED]>
To: Multiple recipients of list delphi <[EMAIL PROTECTED]>
Sent: Wednesday, 30 May 2001 16:48
Subject: Re: [DUG]: SQL and Parameters
You were right.
I had no idea that I had to specifically add parameter objects to the
TQuery. I can't find any mention of this in any of my 4 Delphi books.
My procedure is now as follows, but I still get "Could not find object". Is
the code that I have used to add the parameter correct?
procedure RunPQuery(SQLFile: string);
begin
with RSQuery do
begin
Close;
Unprepare;
SQL.LoadFromFile(HomeDir + '\SQLFiles\' + SQLFile + '.SQL');
Params.CreateParam(ftDate, 'SaveDate', ptOutput);
ParamByName('SaveDate').AsDate := CurrentDate;
Prepare;
ExecSQL;
MainForm.Memo.Lines.Add('Done');
end;
end;
Tomorrow, I will build the SQL in my code - but its not as nice.
Mark
----- Original Message -----
From: James Low
To: Multiple recipients of list delphi
Sent: Wednesday, May 30, 2001 4:11 PM
Subject: RE: [DUG]: SQL and Parameters
Maybe it cannot find an object because the query has NO parameters (I
cannot see where your code creates one). So maybe you need to add (using
CreateParam or otherwise) a Param Object to the datsets Params (with the
name "SaveDate", type Output (I think), ftdate) - before you call prepare.
-----Original Message-----
From: Mark Howard [mailto:[EMAIL PROTECTED]]
Sent: 30 May 2001 15:41
To: Multiple recipients of list delphi
Subject: Re: [DUG]: SQL and Parameters
Mike
Have tried this change, now. No better. I assume the question about
Short Date Format is only relevant while I am using the DateToStr format?
I think there must be something quitye fundamental, that I have not
passed on to you guys.
I assume that I can use a vanilla TQuery with no properties set; and
that setting the ParamByName is ALL I need to. (I have also tried
Params[0].AsDate := CurrentDate.)
Is there some other fundamental aspect that I may not be aware of?
Mark
----- Original Message -----
From: Mike Osborne
To: Multiple recipients of list delphi
Sent: Wednesday, May 30, 2001 3:22 PM
Subject: Re: [DUG]: SQL and Parameters
Mark
Have you tried -
ParamByName('SaveDate').AsDate := CurrentDate;
as opposed to
ParamByName('SaveDate').AsString := DateToStr(CurrentDate);
What is your Short Date Format - dd/mm/yy or mm/dd/yy?
DateToStr may not be giving you a valid date for SQL
Why you would get "could not find object", I don't know.
HTH
Mike
----- Original Message -----
From: Mark Howard
To: Multiple recipients of list delphi
Sent: Wednesday, May 30, 2001 10:03 AM
Subject: [DUG]: SQL and Parameters
Hi
Using Paradox.
When I run the following SQL code (DocNos.Sql) using the
LoadFromFile method, things work fine;
Delete from DocketNos
Where DocketNo in (
Select DocketNo from Dockets
Where ForCode not in (
Select distinct forcode from dockets
where docketdate > '03/31/2001'))
But when I try to parameterise it as follows, and with the final
line of the Sql file changed to :
where docketdate > :SaveDate))
then I get an error message "Could not find object"
procedure RunPQuery(SQLFile: string);
begin
with RSQuery do
begin
Close;
Unprepare;
SQL.LoadFromFile('DocNos.SQL');
ParamByName('SaveDate').AsString := DateToStr(CurrentDate);
Prepare;
Open;
MainForm.Memo.Lines.Add('Done');
end;
end;
Can any one see where I have gone wrong?
TIA Mark
---------------------------------------------------------------------------
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Website: http://www.delphi.org.nz
To UnSub, send email to: [EMAIL PROTECTED]
with body of "unsubscribe delphi"