FIX: Update Error When Updating Sybase Table From ASP

ID: Q168270


The information in this article applies to:
  • Microsoft Visual InterDev, version 1.0


SYMPTOMS

The following error occurs when updating a Sybase table from an Active Server Page that uses either a Data Command or Data Range Header Design- Time Control (DTC):

"The query is not updatable because the from clause is not a single simple table name. This may be caused by an attempt to update a non- primary table in a view."


CAUSE

The Data Command Control and the Data Range Header Control generate spaces before and after the table name. Because Sybase does not have a delimiter, referencing the table with the added spaces will fail when performing updates.


STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. This bug has been corrected in Visual Studio 97 Service Pack 1.

For additional information about the Visual Studio 97 Service Pack 1, please see the following article in the Microsoft Knowledge Base:

Q170365 INFO: Visual Studio 97 Service Packs - What, Where, and Why


MORE INFORMATION

Steps to Reproduce Behavior

  1. In a Web project, insert a data connection to Sybase database.


  2. Create a new Active Server Page (.asp).


  3. Insert a Data Command Control DTC.


  4. Choose the Sybase connection in the "Data Connection" drop-down list of the Control's property sheet.


  5. Select "Table" from the "Command Type" drop-down list.


  6. Select a table from the "Command Text" drop-down list.


Results: The table name will display in the "Command Text" drop-down list as:
dbo. tablename
There is a space before and after the table name. The DTC will generate references to the table with the spaces, thus causing the Update errors.

Keywords : kb3rdparty kberrmsg kbADO kbVisID100 kbVisID600fix kbVS97sp1fix kbVS97sp2fix kbGrpASP
Version : WINDOWS:1.0
Platform : WINDOWS
Issue type : kbbug


Last Reviewed: May 10, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.