Board index » delphi » EDBEngineError - Capability not suppport

EDBEngineError - Capability not suppport

Please help!

My program has a pair of master/detail Interbase tables.  When I updated
the tables with Database.ApplyUpdates([Master, Detail]), an error
message 'Capability not support' was shown.

It's very strange that my program works fine if there  is no
amendment on the detailed table.

Regards,

Jason.

 

Re:EDBEngineError - Capability not suppport


In article <6c9pl6$9j...@imsp009a.netvigator.com>,
  jason...@news.netvigator.com (Epochsoft Consultants Ltd) wrote:

Quote

> Please help!

> My program has a pair of master/detail Interbase tables.  When I updated
> the tables with Database.ApplyUpdates([Master, Detail]), an error
> message 'Capability not support' was shown.

> It's very strange that my program works fine if there  is no
> amendment on the detailed table.

> Regards,

> Jason.

This might help:

Capability Not Supported
Possible Cause of Error
1. You may have a syntax error in a SQL statement. You may be attempting to do
something in a "local", or desktop, database which can only be done in a "back
end", or Server, database. For example, you may be attempting to use a nested
SELECT statement on a Paradox table.
2. You may be using SQL SELECT syntax that, while it is not really incorrect,
 is not supported for a live result set while the TQuery component's
RequestLive property is set to True.
3. You may have attempted to modify a TStoredProc components StoredProcName
property while the DataBaseName property refers to a "local", or desktop
database.
4. You may have omitted the table name in a Select statement (providing the
Column name only). For example, you may have a Select statement similar to:
SELECT Candy
FROM SEES
WHERE Flavor = 'DarkRaspberry'
5. You may be attempting to use cached updates on a table which contains TBlob
fields.
Quick Fix
1. Check the SQL statements and syntax that are supported and used by the
database format you are using. See your database documetation for further
details.
2. If you do not need a live result set, change the TQuery components
RequestLive property from True to False.
If you do need a live result set, your query cannot contain any of the
following:
The DISTINCT key word in the SELECT statement
"Aggregate" functions (SUM, COUNT, AVG, MIN, MAX, etc.)
JOINs, UNIONs, INTERSECTs, or MINUS operations
An ORDER BY clause
A GROUP BY clause
A HAVING clause
Subqueries (SELECT statements nested within SELECT statements)
3. Do not attempt to modify the StoredProcName property while the TStoredProc
components  DataBaseName property references a "local", or desktop, database.
4. Include the table name in the Select statement, and enclose the column name
in quotation marks. For example:
SELECT SEES."Chocolate"
FROM SEES
WHERE SEES."Chocolate" = 'DarkRaspberry'
5. Refrain from using CachedUpdates in combination with TBlob fields.
Additional Information
1. Although SQL is the "lingua franca" of both desktop and server databases,
the dialects and "vocabulary" differ between the various implementations of
it. For example, Oracle uses PL/SQL, MS SQL Server uses Transact SQL, etc.
3. If you are using a "local", or desktop database (such as Paradox, dBase, MS
Access, etc.) you cannot use stored procedures. They are a feature of SQL
Server databases only (such as Interbase, Oracle, MS SQL Server, Sybase,
Informix, etc.).
If all else fails, try using a string variable in the WHERE clause. For
example,
var
  WhereVar: String;
  . . .
  WhereVar:= 'SomeValue';
  . . .
  Query1.SQL.Add('SELECT * from "RUNTHE"');
  Query1.SQL.ADD('WHERE Whatever = ' + WhereVar);

Note: Uppercase SQL statements when accessing Oracle databases

Clay Shannon,
author of the upcoming book "Troubleshooting Delphi - Quick Fixes"

-----== Posted via Deja News, The Leader in Internet Discussion ==-----
http://www.dejanews.com/   Now offering spam-free web-based newsreading

Other Threads