Microsoft KB Archive/113672

= BUG: FoxPro Driver Always Shows Deleted Rows =

Article ID: 113672

Article Last Modified on 7/27/2001

-

APPLIES TO


 * Microsoft Open Database Connectivity 1.0

-



This article was previously published under Q113672



BUG# ODBCDBASE: 2061 (1.01.1928)



SYMPTOMS
The Show Deleted Rows checkbox on the ODBC FoxPro driver data source set up screen does not properly suppress the display of deleted rows when it is left unchecked.

The FoxPro driver is installed and a FoxPro data source is set up with the Show Deleted Rows box not checked. Rows deleted by the FoxPro driver will still appear until the database file is packed. The behavior will disappear if the Dbase driver is installed and a Dbase data source is setup with the Show Deleted Rows box not checked.



CAUSE
The FoxPro driver does not recognize the setting, Deleted=On in its section of [FoxPro ISAM] in ODBCISAM.INI. The result is that rows that are deleted using the Fox driver will remain visible during future SELECT statements, until the data file is packed.

The Fox driver is looking in the [dBase ISAM] section for the Deleted=On. If the Fox driver finds it there, it will operate properly. Having Deleted=On in the [FoxPro ISAM] has no effect. Users that use the DBase driver with the Show deleted row box not checked will not experience this error later when they use the Fox driver because they will already have the Deleted=On set in the [dBase ISAM] section.



WORKAROUND
If there is a [dBase ISAM] section in the ODBCISAM.INI with the variable Deleted=On in it, then the FoxPro driver will pick up that option and properly not show deleted rows.



STATUS
Microsoft has confirmed this to be a problem in the ODBC FoxPro Driver versions 1.01.1928 and 1.01.2115. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.



Steps to Reproduce the Problem
 Setup a Fox data source with the Show Deleted Rows box not checked.  Create a table and insert a few rows into it. create table model01 (col1 char(30)) insert into model01 values ('a') insert into model01 values ('b')  Delete a row from the table.

delete from model01 where col1 = 'a' Select all the rows from that table.

select * from model01</ol>

The deleted row will show up.

Additional query words: 1.01.1928 1.00.2115

Keywords: kbbug KB113672

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.