Troubleshooting "Operation must use an updateable query" errors Home

Introduction
Welcome
System requirements
Licensing details
What is the registration
Using ASPRunner
Working with projects
Templates
What are templates
Cars
Classified ads
Events
Jobs
Knowledge base
News
Paypal
Real estate
Sporting
Vacation houses
Connecting to the database
Datasource tables
Master-details
SQL query page
About SQL query designer
Query Designer
SQL
Results
Charts
Creating chart and setting parameters
Chart appearance
Using SQL to shape chart data
Reports
Creating report and setting parameters
Report totals and layout
Choose pages
Login page
User login settings
Advanced security settings
User group permissions
Dynamic permissions
Fields order and totals
Miscellaneous settings
Choose theme
Visual Editor
About
Toolbars
Page Elements
"View as" settings
"Edit as" settings
Validation types
Lookup wizard
Events
Output directory settings
After you are done
FTP upload
FrontPage Publishing
Advanced topics
Connecting to database
Connecting to MS Access database
Connecting to MS SQL Server database
Connecting to FoxPro database
Connecting to MySQL database
Connecting to Oracle database
Connecting to MS Excel database
Connecting to CSV or Text file
Events
Data Access Layer
More about events
Global events
Table events
Page life cycle overview
Predefined actions
Send simple email
Send email with new data
Save new data in another table
Insert a record into another table
Check if specific record exists
Display a message on the Web page
Redirect to another page
Custom code
Sample code
Show list of customer orders
Check if start date is ealier than end date
Before deleting a record check if related records exist
Speed up data entry using events
Publishing ASP application to the remote Web server
Using third party FTP client to publish ASP pages to the remote Web server
Using FrontPage to publish ASP pages to the remote Web server
Demo account
What is the Demo Account?
Terms and Conditions
Enterprise Edition
Online report/chart builder
Master-details relationships
Using JOIN SQL queries
AJAX-based Functionality
ASPRunner session variables
Debugging tips
Template files processing rules (Files.txt)
Multilanguage support
Useful functions and links
ASPRunner templates
Stylesheets
Template language
Rich Text Editor plugins
How to control Inline Add/Edit functionality from script
Troubleshooting "Operation must use an updateable query" errors
ODBC
Upgrade Guide from ASPRunnerPro 4.0 and older
Frequently Asked Questions
Error: Operation must use an updateable query.
Error: Syntax error in UPDATE statement.
Error: Syntax error in INSERT INTO statement
Error: Login failed for user 'MACHINE_NAME\IUSR_MACHINE_NAME'
Error: Data type mismatch in criteria expression
Error: The Microsoft Jet database engine cannot open the file (unknown).
Error: Unable to open registry key 'Temporary (volatile) Jet DSN for process ...
Error: Data provider could not be initialized
Error: Invalid use of Null: 'Replace'
Error: Specified driver could not be loaded due to system error 5 (Oracle in OraHome92)
How can I add new ODBC Datasource
Error: Too many fields defined
Error: I enter correct login and password but receive Invalid Login error. I use SQL Server.
I cannot find ODBC Administrator applet on Windows 2000 machine
I cannot connect to my Excel (Access) database
Where can I download latest ODBC drivers
How to work with Access database stored on the remote computer?
Reserved Access, T-SQL, ODBC keywords.
Order ASPRunner online

 
  ASPRunner manual


Troubleshooting "Operation must use an updateable query" errors

 

Error:

 

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable query. /tablename_edit.asp, line xxx

 

Solution:

Scenario1: Testing on the Web Server

If you are testing the program at web-server, your web hosting provider should have a designated folder for databases where correct permissions are already set. You need to move database file to that directory and update connection string accordingly.

Example:

Let's say you have the following directory structure on you web server:

cgi-bin
database
logs
www/asp/db

Where:

database - designated database folder
www/asp - folder where ASP files reside
www/asp/db - folder where database file resides

Old connection string should look like this:

strConnection = "Provider=MSDataShape;DBQ=" & server.mappath("db\db1.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;UID=admin;"

New connection string in this example will be:

strConnection = "Provider=MSDataShape;DBQ=" & server.mappath("..\..\database\db1.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;UID=admin;"

 

Possible problem:

Some Web servers do not allow parent paths.

Solution:

If parent paths are not allowed you can specify full physical path to database instead. To find where exactly database file resides put the following test.asp file to the root directory and run it in browser.

 

test.asp:

<% response.write Server.MapPath("test.asp") %>

It should print something like this:

W:\Webspace\resadmin\xlinesoft.com\www\test.asp

Now open include/dbconnection.asp file in text editor. It should look like this:

strConnection = "DBQ=" & server.mappath("..\database\db1.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;UID=admin;"

Here is how you need to modify it:

strConnection = "DBQ=W:\Webspace\resadmin\xlinesoft.com\database\db1.mdb";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;UID=admin;"

 

 

Scenario2: Testing Locally

If you are testing locally and received the above described error, that usually means that there is a permission problem. To fix that, you need to give full permission to EVERYONE to the directory where database is located. To do that ,you need to:

  • Right-click on the folder where the database is located

  • Go to Properties

  • Go to Security

  • Add user named EVERYONE (if don't exists)

  • Assign Full Permissions for user EVERYONE

  • Click OK

 

For Windows XP users only:

If permission tab is not enabled or missing or sharing tab does not allow to grant the permission, you need to do the following:

  • Go to the folder where the database is located

  • Go to Tools->Folder Options->View and uncheck Use simple file sharing (recommended) (last option in the list)

  • Click OK

  • Now you can right-click on the folder where the database is located

  • Go to Properties

  • Go to Security

  • Add user named EVERYONE (if don't exists)

  • Assign Full Permissions for user EVERYONE

  • Click OK

 

 

The CHM file was converted to HTML by chm2web software.