Why am I getting the error "Operation must use an updateable query"?

Written by Embarcadero USA on Posted in DATA


Why am I getting the error "Operation must use an updateable query" when editing a Paradox table using the Microsoft ODBC driver on my deployed application?


The Microsoft ODBC driver uses the Borland Database Engine (BDE) for updateable queries. It does not use it for read-only queries. One solution is to deploy the BDE with your application. A better solution is to use the Paradox driver that comes with the BDE.

This ODBC driver is used by Microsoft to import Paradox tables into Access. An import is read-only so it doesn't need the BDE. If you attempt to edit a Paradox table in MS Access without the BDE on your machine you should receive an error as well. We have been asked how to acquire the BDE in order to use Paradox tables in Access. Unfortunately the BDE is not sold as a stand-alone product. It is only available with Delphi and C++Builder.

If you are using ADO and TClientDataset you may receive the error: "Object or provider is not capable of performing the requested operation". This error can occur even if the BDE is on the machine. We have not verified the exact cause of this error but the solution is the same: don't use the Microsoft Paradox ODBC driver for updates - use the native Paradox driver instead.

Article originally contributed by

Tags: Delphi C++Builder Database ODBC Non-SQL Servers varick Microsoft provider

Check out more tips and tricks in this development video: