Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
CursorAdapter Updating
Message
 
À
Tous
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Titre:
CursorAdapter Updating
Versions des environnements
Visual FoxPro:
VFP 9 SP1
OS:
Windows XP
Database:
MS SQL Server
Divers
Thread ID:
01311736
Message ID:
01311736
Vues:
77
I have the following CursorAdapter defined.
**************************************************
*-- Class: BooksAndAuthors
*-- Program: BooksAndAuthors.prg
*
* CursorAdapter to provide access to the Microsoft
* SQL Server data for books and authors
*

DEFINE CLASS booksandauthors AS cursoradapter
	SelectCmd = [SELECT TI.Title_id, TI.Title, AU.au_Lname, ] + ;
					[AU.au_Fname, TI.PubDate, ] + ;
					[TI.Price AS Price FROM pubs.dbo.Titles TI ] + ;
					[JOIN pubs.dbo.TitleAuthor TA ON TI.Title_id = TA.Title_id ] + ;
					[JOIN pubs.dbo.Authors AU ON TA.au_id = AU.au_id ] + ;
					[ORDER BY 1,2,3]
	Tables = [Titles]
	KeyFieldList = [title_id]
	UpdateNameList = "Title pubs.dbo.Titles.Title"
	UpdatableFieldList = [Title]
	Alias = "BooksAndAuthors"
	DataSourceType = "ODBC"
	CursorSchema = "Title_id C(6), Title C(120), Lname C(40), FName C(40), Pubdate T, Price Y"
	Name = "BooksAndAuthors"
	FetchAsNeeded = .T.
	AllowUpdate = .T.
	SendUpdates = .T.
	
	FUNCTION Init
		LOCAL lcConnection
		lcConnection = "driver=SQL Server; " + ;
		               ";server=NYCPSJWBOOTH\VINCENT; " + ;
		               "uid=***; pwd=***"
		This.DataSource = SQLSTRINGCONNECT(lcConnection)
	ENDFUNC

ENDDEFINE
I can query the data with the following;
ox = NEWOBJECT("BooksAndAuthors","c:\effective\application\prgs\booksandauthors.prg")
ox.CursorFill()
BROWSE last
And I see the browse window and can edit the title field on the first record. I move off of the first record without any error and then I execute;
?TABLEUPDATE(.t.,.t.,"BooksAndAuthors",laerror)
And tableupdate returns -1, the array has one element with the value of -1 and an AERROR() show no error occurred.

Any ideas why this CA won't do an update?
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform