Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Requery gets table buffer uncommitted changes
Message
From
04/02/2004 22:54:28
 
 
To
All
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Title:
Requery gets table buffer uncommitted changes
Miscellaneous
Thread ID:
00874307
Message ID:
00874307
Views:
141
I'm using a requery of a remote view. It updates fine for a couple of records then gives an error message: Table buffer for alias "Inventory_Remote" contains uncommitted changes. This is in VFP8 with remote conection to a sql2000 database.

sele new
Clear
Close All
Close Database
Set Exclusive Off
Set Deleted On
Open Database j:\mom\inventory_remote
Set Default To j:\mom
Select 1
Use j:\vfp\NEW
Select 2
Use j:\db\Data\invrepor Order 1
Select 3
xCatalog='AB001'
xLtd_Edition=.F.
Use inventory_remote!inventory_remote
Select 1
SET MULTILOCKS ON && Must turn on for table buffering.
= CURSORSETPROP('Buffering', 5, 'inventory_remote' )
= CURSORSETPROP('Buffering', 5, 'New' )
= CURSORSETPROP('Buffering', 5, 'invrepor' )

SELECT NEW
Scan Rest && FOR LastUpdate>UploadDate OR (LastUpdate=UploadDate AND LastUpSecs>UpLoadSecs)



xCatalog=NEW.Catalog
xLtd_Edition=NEW.ltd_editio
Select inventory_remote
=TABLEUPDATE(.T.)
Requery()
Select * From inventory_remote Into Cursor TEST3
= CURSORSETPROP('Buffering', 5, 'TEST3')
= TABLEUPDATE(.t.)
If _Tally >0
Update inventory_remote ;
SET inventory_remote.HARD_ISBN = NEW.HARD_ISBN, ;
inventory_remote.TITLE2X = new.title2x, ;
inventory_remote.HARDBOUND = NEW.HARDBOUND, ;
inventory_remote.HARD_PRICE = NEW.HARD_PRICE, ;
inventory_remote.HARD_SALE = NEW.HARD_SALE, ;
inventory_remote.HARD_OP = NEW.HARD_OP, ;
inventory_remote.HARD_ISBN = NEW.HARD_ISBN, ;
inventory_remote.HARD_NYP = NEW.HARD_NYP, ;
inventory_remote.HARD_DUE = NEW.HARD_DUE, ;
inventory_remote.hard_sign = NEW.hard_sign, ;
inventory_remote.SOFTBOUND = NEW.SOFTBOUND, ;
inventory_remote.SOFT_PRICE = NEW.SOFT_PRICE, ;
inventory_remote.SOFT_SALE = NEW.SOFT_SALE, ;
inventory_remote.SOFT_OP = NEW.SOFT_OP, ;
inventory_remote.SOFT_ISBN = NEW.SOFT_ISBN, ;
inventory_remote.SOFT_NYP = NEW.SOFT_NYP, ;
inventory_remote.SOFT_DUE = NEW.SOFT_DUE, ;
inventory_remote.soft_sign = NEW.soft_sign, ;
inventory_remote.signedby = NEW.signedby, ;
inventory_remote.LTD_OP = NEW.LTD_OP, ;
inventory_remote.VIDEO = NEW.VIDEO, ;
inventory_remote.BOOKTEASE = NEW.BOOKTEASE, ;
inventory_remote.BOOKTEASE2 = NEW.BOOKTEASE2, ;
inventory_remote.BT2WIDTH = NEW.BT2WIDTH, ;
inventory_remote.BT2HEIGHT = NEW.BT2HEIGHT, ;
inventory_remote.PUBLISHER = NEW.PUBLISHER, ;
inventory_remote.PUBLISHERX = NEW.PUBLISHERX, ;
inventory_remote.CITY = NEW.CITY, ;
inventory_remote.CITYX = NEW.CITYX, ;
inventory_remote.DATEPUB = NEW.DATEPUB, ;
inventory_remote.SUBTITLE = NEW.SUBTITLE, ;
inventory_remote.SUBTITLEX = NEW.SUBTITLEX, ;
inventory_remote.Pages = NEW.Pages, ;
inventory_remote.bwillus = NEW.bwillus, ;
inventory_remote.colorillus = NEW.colorillus, ;
inventory_remote.illustrat = NEW.illustrat, ;
inventory_remote.appendices = NEW.appendices, ;
inventory_remote.SIZEX = NEW.SIZEX, ;
inventory_remote.NUDES = NEW.NUDES, ;
inventory_remote.CATEGORYNO = NEW.CATEGORYNO, ;
inventory_remote.sortorder = NEW.sortorder, ;
inventory_remote.SUBJECT = NEW.SUBJECT, ;
inventory_remote.SUBJECTX = NEW.SUBJECTX,;
inventory_remote.ABSTRACT = NEW.ABSTRACT, ;
inventory_remote.ABSTRACTX = NEW.ABSTRACTX, ;
inventory_remote.OCR = NEW.OCR, ;
inventory_remote.OCRX = NEW.OCRX, ;
inventory_remote.THUMBH = NEW.THUMBH, ;
inventory_remote.THUMBW = NEW.THUMBW, ;
inventory_remote.BIGH = NEW.BIGH, ;
inventory_remote.BIGW = NEW.BIGW, ;
inventory_remote.IMAGEFRAME = NEW.IMAGEFRAME, ;
inventory_remote.country = NEW.language, ;
inventory_remote.language = NEW.country, ;
inventory_remote.foreign2 = NEW.foreign2, ;
inventory_remote.CUSTOM1 = NEW.CUSTOM1, ;
inventory_remote.CUSTOM2 = NEW.CUSTOM2, ;
inventory_remote.CUSTOM3 = NEW.CUSTOM3, ;
inventory_remote.CUSTOM4 = NEW.CUSTOM4, ;
inventory_remote.AUTHORS = NEW.AUTHORS, ;
inventory_remote.AUTHORSX = NEW.AUTHORSX ;
WHERE inventory_remote.Catalog = NEW.Catalog And ;
inventory_remote.ltd_editio = NEW.ltd_editio
* SELECT Inventory_remote
* =Tableupdate(.T.,.T.)
? NEW.Catalog + " Updated"
*
Else
Insert Into inventory_remote (Catalog, HARDBOUND, HARD_PRICE, HARD_SALE, HARD_OP, HARD_ISBN, hard_sign, SOFTBOUND, ;
SOFT_PRICE, SOFT_SALE, SOFT_OP, SOFT_ISBN, soft_sign, signedby, ;
ltd_editio, LTD_OP, VIDEO, NUDES, BOOKTEASE, BOOKTEASE2, ;
TITLE2, TITLE2X, SUBTITLE, SUBTITLEX, AUTHORS, AUTHORSX, PUBLISHER, ;
PUBLISHERX, CITY, CITYX, DATEPUB, Pages, bwillus, colorillus, illustrat, appendices, ;
illustrat, appendices, SIZEX, country, language, foreign2, NUDES, CATEGORYNO, sortorder, SUBJECT, SUBJECTX, ;
BT2WIDTH, BT2HEIGHT, THUMBH, THUMBW, BIGH, BIGW, CUSTOM1, CUSTOM2, CUSTOM3, CUSTOM4, IMAGEFRAME, ABSTRACT, ABSTRACTX, OCR, OCRX);
VALUES (NEW.Catalog, NEW.HARDBOUND, NEW.HARD_PRICE, NEW.HARD_SALE, NEW.HARD_OP, NEW.HARD_ISBN, NEW.hard_sign, ;
NEW.SOFTBOUND, NEW.SOFT_PRICE, NEW.SOFT_SALE, NEW.SOFT_OP, NEW.SOFT_ISBN, NEW.soft_sign, NEW.signedby, ;
NEW.ltd_editio, NEW.LTD_OP, NEW.VIDEO, NEW.NUDES, NEW.BOOKTEASE, NEW.BOOKTEASE2, ;
NEW.TITLE2, NEW.TITLE2X, NEW.SUBTITLE, NEW.SUBTITLEX, NEW.AUTHORS, NEW.AUTHORSX, NEW.PUBLISHER, ;
NEW.PUBLISHERX, NEW.CITY, NEW.CITYX, NEW.DATEPUB, NEW.Pages, NEW.bwillus, NEW.colorillus, NEW.illustrat, NEW.appendices, ;
NEW.illustrat, NEW.appendices, NEW.SIZEX, NEW.country, NEW.language, NEW.foreign2, NEW.NUDES, NEW.CATEGORYNO, NEW.sortorder, NEW.SUBJECT, NEW.SUBJECTX, ;
NEW.BT2WIDTH, NEW.BT2HEIGHT, NEW.THUMBH, NEW.THUMBW, NEW.BIGH, NEW.BIGW, NEW.CUSTOM1, NEW.CUSTOM2, ;
NEW.CUSTOM3, NEW.CUSTOM4, NEW.IMAGEFRAME, NEW.ABSTRACT, NEW.ABSTRACTX, NEW.OCR, NEW.OCRX)

Select inventory_remote
=Tableupdate(.T.)
? NEW.Catalog + " Inserted"
Endif

*


Select invrepor
Seek xCatalog
Scan While Catalog=xCatalog
If ltd_editio=XLTD_EDITION And Not Eof()
Replace Next 1 UPLOADDATE With Date(), UPLOADSECS With Seconds()
=Tableupdate(.T.)
Endif
Endscan
Select NEW

ENDSCAN

* Now select items to be deleted because they are not in the local invrepor
*Select Catalog, Ltd_editio FROM inventory_remote WHERE catalog NOT IN (SELECT catalog FROM invrepor ORDER BY number, ltd_editio)

*Select * from stock_remote t2 left join stock_local t1 ;
on t2.catalog=t1.catalog and t2.ltd_editio=t1.ltd_editio ;
where t1.catalog is null

Close Databases
Close All
Return

What could the problem be? Any clues would be appreciated. Thanks in advance.
Next
Reply
Map
View

Click here to load this message in the networking platform