Wednesday, December 02, 2009

TxQuery 2.0

TxQuery is created and owned by Alfonso Moreno.  He has stopped the development of TxQuery for years.  However, there are many Delphi developers still using TxQuery.  A barrier for TxQuery migrating to Delphi 2009 and 2010 is the introduction of Unicode.

I contact Alfonso Moreno on Nov 17, 2009 to ask if he may consider make TxQuery open source and let this great product continue enhanced by the Delphi community.  He finally agree and I wish to say big "Thank You" for his contribution.

I have attempted to patch the source code to make it compile and work with Delphi Unicode.  Test cases has been created to make sure it works as expected.  I know there are other cases that I didn't cover yet, just alert me promptly.  You are also welcome to join the maintenance and enhancement for this project.

TxQuery component is a TDataSet descendant component that can be used to query one or more TDataSet descendant components using SQL statements. It is implemented in Delphi 100% source code, no DLL required, because it implements its own SQL syntax parser and SQL engine.

It can be very useful for TDataSet descendants components (including TClientDataSet) that do not use the BDE and that do not implement the SQL language or to mix tables types (dbase, paradox, access).

TxQuery Project Page:
TxQuery Group:


Anonymous said...

Nice that the code was given to the community, and good to know that somebody takes care of it.

Anonymous said...

Thanks for sharing :-)

Anonymous said...

I am also using TxQuery with Delphi 5 and 7 and have been for many years. I also use the Halcyon database component to directly connect with dbase files rather than use the BDE. Versions of Halcyon of 6.94 or earlier work fine, but versions after 6.94 generate errors which appear to be a data conversion incompatibility with TxQuery. I don't know what changes were made to Halcyon to do this and am asking the Halcyon author what changes were made that might cause this incompatibility with TxQuery. If I knew, I would attempt to patch TxQuery myself but haven't got much time to investigate.

I don't believe this is a Unicode problem as it occurs with D5 and D7 which are not unicode enabled.
Do you know if anybody has run into the same problem?

Chau Chee Yang said...

I am not familiar with Halcyon database. The TxQuery 2.0 come with source code. You may do the debugging to check where the problem occurs.

Anonymous said...

Hi, im using the TXQuery with TDBF in delphi 2010 component but i have some issues with querys, trying join tables with 500 or more record, do you have any idea what can i do to fix this, and thanks for share this component..

Chau Chee Yang said...

What issues you encounter when you trying to join TDBF table?

odisej said...

We decided to use xQuery in our project. After some time we found some problems. Here are two major if anybody can comment.

- We think xQuery is using some global variables so it's impossible to use it in threads.

- xQuery knows UNIONs although we think you can't use sort on the whole UNION.

Chau Chee Yang said...

odisej, TxQuery has stop it's development. You may use what it has only at this moment.

odisej said...

I understand TxQuery has stop it's development, I was only hoping that someone who uses it would comment on issues I explained.

Anonymous said...

I still have needs to use TxQuery and I can't find any replacement. I need to run queries over few txt tables. As I need to run queries in threads, I decided to change the sources with critical section. I know it can slow down things but at least it will work. I don't want xQuery to behave like Aloha protocol.


AndroidHGV said...

I am looking to port the components to Lazarus/Freepascal but have issues that the defines that test for new RTTI are not Lazarus compatible. I wonder if you woud adapt my changes to that.