John,
TABLEUPDATE() will only update SQL Server if the ODBC connection is set for Automatic (not Manual) transactions. Otherwise you would have to use SQLCOMMIT(nConnectionHandle) in addition to TABLEUPDATE(). This is the case whether or not you are even using transactions.
>>>I have a Client/Server application with remote views against tables in a MS SQL 2000 database. Occasionally, even though TableUpdate() returns .T., the SQL data is not updated. I've confirmed that the correct field value is present before the update is issued.
>
>George,
>
>Yes, "Send Updates" is checked. Remember it only happens (fails to update)occassionally. I'm beginning to wonder is it's an issue with the machine's local cache, or the ODBC driver, or a SQL 2000 issue.
>
>Joe
>
>>>
>>>Table buffering is 5. The statement is:
>>>IF NOT TableUpdate(.T.,.T.)
>>> TableRevert(.T.)
>>> AERROR(laError)
>>> MessageBox(laError(3))
>>>ENDIF
>>>
>>>The TableUpdate() is NOT in a transaction (BEGIN/END TRANSACTION).
>>>
>>>It has occured frequently on on one paticular workstation (NT4.0) but, recently I've been able to confirm it on my Win 2000 development machine. I can't force it to occur, but it happens often enough that I know that there is a problem.
>>>
>>>Any help would be greately appreciated.
>>>
>>>Thanks,
>>>
>>Joe,
>>
>>The only time I've seen this occur is when the Send Updates check box isn't checked or there are no fields marked as updatable. Try modifying the view(s) when this occurs and make sure that it isn't one of these condiftions.
- Jeff