>>> >>>nAutoRefreshConn=SQLSTRINGCONNECT("DRIVER=SQL Server;SERVER=(local);Trusted_Connection=Yes;DataBase=TestDB") >>> >>>IF nAutoRefreshConn > 0 >>> oCA=CREATEOBJECT("CA_SCOPE_IDENTITY") >>> oCA.DataSource = nAutoRefreshConn >>> IF oCA.CursorFill(.t.) >>> BROWSE NORMAL >>> IF TABLEUPDATE(1, .t.) >>> BROWSE NORMAL >>> ELSE >>> AERROR(aaa) >>> MessageBox(aaa[2]) >>> ENDIF >>> ELSE >>> AERROR(aaa) >>> MessageBox(aaa[2]) >>> ENDIF >>>ENDIF >>> >>> >>>DEFINE CLASS CA_SCOPE_IDENTITY AS CursorAdapter >>> DataSourceType = [ODBC] >>> Alias = "cTest" >>> BufferModeOverride = 5 >>> SelectCmd = "select * from TestTable" >>> CursorSchema="Id I, name Varchar(20)" >>> UseCursorSchema= .T. >>> Tables = "TestTable" >>> UpdatableFieldList="name" >>> UpdateNameList="Id TestTable.Id, name TestTable.Name" >>> KeyFieldList="Id" >>> AutoUpdate = "Id" >>> >>> >>> PROCEDURE BeforeInsert(cFldState, lForce, cInsertCmd) >>> >>> IF LEN(ALLTRIM(this.AutoUpdate))>0 >>> cInsertCmd = cInsertCmd + ; >>> "; DECLARE @id int; SELECT @id = SCOPE_IDENTITY()" + ; >>> "; EXEC Get_ValHelper @id, ?@" + ; >>> this.Alias + "." + ALLTRIM(this.AutoUpdate) >>> ENDIF >>> ? >>> ? PROGRAM() >>> ? "cInsertCmd=",cInsertCmd >>> ENDPROC >>>ENDDEFINE >>>>>>
>>>CREATE DATABASE TestDB >>>GO >>>USE TestDB >>>GO >>>CREATE TABLE TestTable (Id int IDENTITY(1,1), Name varchar(20)) >>>GO >>>create procedure Get_ValHelper >>>( >>>@in Int, >>>@out int OUTPUT >>>) >>>AS >>> BEGIN >>> SET NOCOUNT ON >>> SET @out = @in >>> END >>>GO >>>>>