Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 2 of 2 total
Thread Auto preparation of the queries?
Thu, May 6 2010 6:27 AMPermanent Link

durumdara

Dear Support!

Please give me the information about when the Query prepared.
We migrated two sites, and we got these messages in the log:

Prepare Statement   700   
An error was found in the statement at line 7 and column 35 (Expected data type but instead found percek)

etc. (Some of them referred some field that are used everywhere, so this is not too good source point to eliminate bug).

If the programs are making errors, the users everytime screaming about of them.

Ergo: these errors are not visible, or catched by in other way (Except?).

My boss thinking that Queries are prepared automatically, but I don't think this.

As I see the queries are prepared by:
- Open
- Execute
- a linked DataSource (Master) changed
- Prepare

I'm not sure that they are prepared on ParamByName, or no.
Many times we used this mode in filtering:

with FilterQ do begin
  SQL.Text = 'select * from anything where True';
  if ByDate then begin
    SQL.Add('and when=:d')
    ParamByName('d').AsDateTime := Now
  end
  if ByType then begin
   SQL.Add('and kind=:k')
    ParamByName('k').AsInteger := ThisType
  end
   ...

But everything is possible.
We search for the source of the error, but may this caused by other preparation source what we don't know - like autoprepare...

Please help me a little and correct my description if I wrote something wrong, or I miss some way of prepare that we don't wrote here...

Thanks for it! Your product is great, and we are very glad to we can use it!

Sincerely:
  dd
Thu, May 6 2010 5:07 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com


<< Please give me the information about when the Query prepared. >>

A TEDBQuery is prepared whenever you call:

Prepare (manually prepared)
Open (automatically prepared, if Prepare not already called)
ExecSQL (automatically prepared, if Prepare not already called)

--
Tim Young
Elevate Software
www.elevatesoft.com
Image