sSqlConnStr = "DRIVER=SQL Server;SERVER=dserver3;database=newmegadb;uid=sa;password=" iConnHandle = SQLSTRINGCONNECT(sSqlConnStr) IF iConnHandle > 0 nKey = 0 nResult = SQLEXEC(iConnHandle, "gen_new_id ?@nKey") IF nResult < 0 AERROR(aErrInfo) MESSAGEBOX(aErrInfo[2]) ELSE ? nKey ENDIF SQLDISCONNECT(iConnHandle) ELSE ? "Not connected" ENDIF>The OUTPUT clause is missing in the sample SP code and your SP call is not entirely correct
... > @newID int OUTPUT >... > >nKey = 0 >nResult = SQLEXEC(iConnHandle, "gen_new_id ?@nKey") >>
>>CREATE PROCEDURE gen_new_id >> @key_name varchar(50), >> @newID int >>AS >> >>SET NOCOUNT ON >> >>UPDATE gen_new_id >>SET >> @newID = id_value = id_value + 1 >>WHERE >> key_name = @key_name >> >>IF @@ERROR <> 0 >> RETURN 1 >>ELSE >> RETURN 0 >>>>
>>sSqlConnStr = "DRIVER=SQL Server;SERVER=dserver3;database=newmegadb;uid=sa;password=" >> >>iConnHandle = SQLSTRINGCONNECT(sSqlConnStr) >> >>IF iConnHandle > 0 >> >> cKey = "my_key" >> >> nResult = SQLEXEC(iConnHandle, "get_new_id @cKey") >> >> ? nResult >> >> SQLDISCONNECT(iConnHandle) >> >>ELSE >> ? "Not connected" >>ENDIF >>>>