nAutoRefreshConn=SQLSTRINGCONNECT("DRIVER=SQL Server;SERVER=FABIO-NX7000\DEV;Trusted_Connection=Yes;database=tempdb") IF nAutoRefreshConn<1 RETURN ENDIF Local oCA As CursorAdapter oCA=CREATEOBJECT("myCA") TEXT TO CREATE NOSHOW USE tempdb IF OBJECT_ID('T1') IS NOT NULL DROP TABLE T1 IF OBJECT_ID('T2') IS NOT NULL DROP TABLE T2 CREATE TABLE T1 ( Z_id int IDENTITY(1,1)PRIMARY KEY, Z_name varchar(20) NOT NULL) CREATE TABLE T2 ( Y_id int IDENTITY(100,5)PRIMARY KEY, Y_name varchar(20) NULL) ENDTEXT TEXT TO TRIGGER NOSHOW CREATE TRIGGER T1_trig ON T1 FOR INSERT AS BEGIN INSERT T2 VALUES ('') END ENDTEXT IF SQLEXEC(nAutoRefreshConn,m.create)=1 AND SQLEXEC(nAutoRefreshConn,m.TRIGGER)=1 AND oCA.CursorFill() SET NULL OFF * oCA.InsertCmdRefreshCmd="SELECT @@IDENTITY" && CursorAdapter returns a wrong number * oCA.InsertCmdRefreshCmd="SELECT z_id From t1 Where z_id = @@IDENTITY" && CursorAdapter returns an error: The refresh key defined for table is not found * oCA.InsertCmdRefreshCmd="SELECT z_id From t1 Where z_id = SCOPE_IDENTITY()" && CursorAdapter returns an error: The refresh key defined for table is not found INSERT INTO CATest (z_name) VALUES ('Rodolfo') INSERT INTO CATest (z_name) VALUES ('Denise') INSERT INTO CATest (z_name) VALUES ('Carol') IF !TABLEUPDATE(.T.) ? "TABLEUPDATE is failed!!!" AERROR(aerrs) DISPLAY MEMORY LIKE aerrs ELSE LIST ENDIF oCA.CursorDetach ENDIF TEXT TO DESTROY NOSHOW IF OBJECT_ID('T1') IS NOT NULL DROP TABLE T1 IF OBJECT_ID('T2') IS NOT NULL DROP TABLE T2 ENDTEXT SQLEXEC(nAutoRefreshConn,m.DESTROY) SQLDisconnect(nAutoRefreshConn) BROWSE DEFINE CLASS myCA AS CursorAdapter DataSourceType="ODBC" DataSource= nAutoRefreshConn Alias = "CATest" BufferModeOverride= 5 SelectCmd="select * from t1" CursorSchema="z_id I, z_name C(10)" UseCursorSchema= .T. Tables="t1" UpdatableFieldList="z_name" UpdateNameList="z_id t1.z_id, z_name t1.z_name" InsertCmdRefreshFieldList="z_id" InsertCmdRefreshCmd="SELECT SCOPE_IDENTITY()" PROCEDURE beforeInsert LPARAMETERS cFldState, lForce, cInsertCmd cInsertCmd = STRTRAN(m.cInsertCmd,"?catest.z_name","'"+catest.z_name+"'",1) ENDDEFINE