Article: Q314656
Product(s): Microsoft FoxPro
Version(s): 7.0
Operating System(s):
Keyword(s): kbDatabase kbGrpDSFox kbDSupport kbCodeSnippet kbvfp700 _IK283
Last Modified: 26-FEB-2002
-------------------------------------------------------------------------------
The information in this article applies to:
- Microsoft Visual FoxPro for Windows, version 7.0
-------------------------------------------------------------------------------
SYMPTOMS
========
When you use ActiveX Data Objects (ADO) and the Visual FoxPro OLE DB provider to
add records to a table in a loop, the procedure may fail after approximately 512
records, and the following error message may appear:
Multiple-step operation generated errors. Check each status value.
RESOLUTION
==========
To resolve this problem, obtain the latest service pack for Visual FoxPro for
Windows 7.0. For additional information, please see the following article in the
Microsoft Knowledge Base:
Q316964 How to Obtain the Latest Visual FoxPro for Windows 7.0 Service Pack
STATUS
======
Microsoft has confirmed this to be a problem in Microsoft Visual FoxPro for
Windows 7.0. This problem was first corrected in Visual FoxPro for Windows 7.0
Service Pack 1.
MORE INFORMATION
================
Steps to Reproduce Behavior
---------------------------
To reproduce the problem, run the following code:
CD JUSTPATH(SYS(16))
CLOSE DATABASES ALL
RELEASE ALL
CLEAR ALL
CREATE DATABASE simple_data
CREATE TABLE 'SIMPLE.DBF' NAME 'SIMPLE' (RECID I NOT NULL, CALLID I NOT NULL)
ALTER TABLE 'SIMPLE' ADD PRIMARY KEY RECID TAG RECID
USE
CLOSE DATABASES ALL
LOCAL loConn AS ADODB.CONNECTION, ;
loRs AS ADODB.Recordset, ;
lnCounter AS INTEGER
loConn = CREATEOBJECT("ADODB.Connection")
loConn.OPEN([Provider=VFPOLEDB.1;Data Source=] + JUSTPATH(SYS(16,0)) + ;
[;Mode=ReadWrite;Password="";Collating Sequence=MACHINE])
loRs = CREATE("ADODB.Recordset")
WITH loRs
.ActiveConnection = loConn
.CursorType= 3 && adOpenStatic
.CursorLocation= 3 && adUseClient
.LockType= 3 && adLockOptimistic
.OPEN("simple")
FOR lnCounter = 1 TO 1000
@ 10, 10 SAY lnCounter
.AddNew()
.FIELDS("recid").VALUE = lnCounter
.FIELDS("callid").VALUE = lnCounter
.UPDATE
ENDFOR
.CLOSE
ENDWITH
loConn.CLOSE
loRS = NULL
loConn = NULL
RELEASE ALL
Additional query words: kbVFP700sp1fix
======================================================================
Keywords : kbDatabase kbGrpDSFox kbDSupport kbCodeSnippet kbvfp700 _IK283
Technology : kbVFPsearch kbAudDeveloper kbVFP700
Version : :7.0
Issue type : kbbug
Solution Type : kbfix
=============================================================================