cancel
Showing results for 
Search instead for 
Did you mean: 

Installed 12.0, now queries fail

0 Kudos

I have a simple query using TDataSet and C++ Builder Seattle

select * from practice where date='2/5/2016'

This worked fine with version 11.10.  Now I installed 12.0 and it fails. "Error 3007: Unsupported function found in index key expression"

I bet I have 500 queries in my program that use the date, I hope this is an easy fix for me.

Thanks!

View Entire Topic
chrisfranz
Advisor
Advisor
0 Kudos

Doug,

  I think this is because DATE is a SQL keyword. You need to use double quotes ( " ) around date. You can also use square brackets ( [ ] )  to ensure that the field name is identified correctly.

  It could be the formatting of your date. By default we support the date format specified on the server ( i.e. mm/dd/yyyy or dd/mm/yyyy) For the best results I would recommend using the ANSI date notation which is yyyy-mm-dd    

  Try using this format and see if it addresses your issue. Your new query would look like the following.

  SELECT * FROM practice WHERE [date]='2016-08-23'

Chris Franz

0 Kudos

I tried uninstalling 12.0.  I downloaded 11.10 today and ran it, very interesting it wants to install 12.0.

Pic here  www.douglashay.com/tracks/ADS_3.PNG

I just want to get rid of 12.0.  I haven't worked since Friday at noon, which is when I installed ADS 12.  I can't get rid of it.

I click on a ADSTable component in C++ Builder and it says 11.10.0.30 (ACE 12.00) - why does it say 11.10 and 12.0?

On my other PC at another location I click the component and for 'Version' it says 11.10.0.30 (ACE 11.10).  How do I get rid of 12.0?  I did the uninstall, and verified the folder is gone \Program files (x86)\Advantage 12.0

Also removed 11.10, then reinstalled from the old adsdelphi.exe I kept from February or so.  My components still say 11.10.0.30 (ACE 12.00).  My program runs fine on my secondary PC (which never had 12.0 installed), still gives me the 3007 error on my primary PC.  I tried replacing the table in question just to make sure it wasn't damaged.  Same result, 3007 error.

I

0 Kudos

I ran my C++ Builder 5.0 application and it too now gives the same 3007 error message.  It doesn't even use ADS 12.0, it uses 10.10.  So I think by installing 12.0 it must have changed a configuration file or something generic that causes all of my applications to fail.

Look at "Version" in this pic

www.douglashay.com/tracks/ADS_5.PNG

Why does it think I am using 12.0, C++ Builder 5 uses 10.10!

My index file contains 4 indexes, they are

Transponder;Date;Time            // Transponder is INT

descend(LapCounter);Transponder;descend(date)   // LapCounter is INT

transponder;date;desc(time)

I tried modifying the indexes, adding brackets around date, like this

Transponder;[Date];Time        

Didn't help, still get 3007 errors.

I checked the C:\ads_err.adt, and it shows that my programs think I am running ADS 12.0.  I just cannot get rid of 12.0.  I uninstalled it, the folder is gone too.

See this pic

www.douglashay.com/tracks/ADS_4.PNG

Please tell me how to remove 12.0 completely, there must be a list of files that are installed and where they are installed, and I will have to manually delete those files.

Thanks!

0 Kudos

OK, I ran the debugger on C++ Builder 5. It helped me find the problem,.

The index that was called TransponderDateTime was defined as

Transponder;Date;desc(Time)

This worked FINE until I installed 12.0.  I still don't know how installing 12.0 can break my C++ Builder 5.0 application since it doesn't use ADS 12.0 (it uses 10.10).

The problem is the word 'desc'.  It has to be 'descend'. Once I changed that the 3007 error no longer appears.