General information
Category:
Coding, syntax & commands
FUNCTION GetKey
LPARAMETERS tcTable
LOCAL lnArea, llOpened, liRetVal
* Save current work area
lnArea = SELECT()
llOpened = .F.
IF !USED("Keys")
USE Keys IN 0 SHARED
llOpened = .T.
ENDIF
SELECT Keys
SET ORDER TO TAG Table
I used GetKey("MyTableName") in the default of the Primary key
in this table to generate a incremented number. what am i doing
wrong?
* FLOCK seems to work a bit better than RLOCK.
* I've never had a problem with it.
DO WHILE !FLOCK()
ENDDO
SEEK UPPER(tcTable)
IF FOUND()
liRetVal = NextId
REPLACE NextId WITH NextId + 1
ELSE
INSERT INTO Keys (Table, NextId) VALUES (tcTable, 2)
liRetVal = 1
ENDIF
FLUSH
UNLOCK
IF llOpened
USE IN Keys
ENDIF
SELECT (lnArea)
RETURN liRetVal
Next
Reply
View the map of this thread
View the map of this thread starting from this message only
View all messages of this thread
View all messages of this thread starting from this message only