📄 _getnext.prg
字号:
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
* 文件名: _GETNEXT.PRG <-- 本文件由 UnFoxAll 创建
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
PARAMETER ID , S_DBF , NEXT
LOCAL SAVEAREA , EXPR , PARAS , NO , DS , DATE , TIME , OLDAREA , HAND1
PARAS = PARAMETERS()
OLDAREA = SELECT()
IF PARAMETERS() = 1
S_DBF = 'user'
NEXT = 1
ENDIF
IF PARAMETERS() = 2
NEXT = 1
ENDIF
IF TYPE('s_dbf') <> 'C' .OR. .NOT. INLIST(S_DBF,'user','yk_','mz_','zy_','qx_','zw_')
WAIT WINDOW NOWAIT 'error in _getnext.prg about s_dbf!'
ENDIF
S_DBF = M.S_DBF + 'expr'
IF .NOT. USED(M.S_DBF)
USE IN 0 (M.S_DBF)
ENDIF
SELECT (M.S_DBF)
ID = ALLTRIM(M.ID)
IF ASC(M.ID) < 127
M.ID = LOWER(M.ID)
ENDIF
M.ID = '^' + M.ID
GL_SYSTEMDATA = IIF(TYPE('gl_systemdata') = 'U',.F.,GL_SYSTEMDATA)
DO HANDBUSY
SQLSETPROP(HAND,'transactions',2)
IF .NOT. GL_SYSTEMDATA
HAND1 = ;
SQLEXEC(HAND,'update ' + M.S_DBF + ' set expr=str(val(expr)+?m.next) where id=?m.id')
DO HANDBUSY
IF HAND1 <> 1
SQLROLLBACK(HAND)
MESSAGEBOX(M.ID + ' 数据库内部错误,请立即停止操作并与系统管理员联系!',16,'警告')
NEXT = 0
ELSE
= SQLEXEC(HAND,'select val(expr) as expr from ' + M.S_DBF + ' where id=?m.id','query')
_COMMIT(HAND)
NEXT = QUERY.EXPR
ENDIF
ELSE
= SQLEXEC(HAND,'select expr from ' + M.S_DBF + ' where id=?m.id','query')
DO HANDBUSY
HAND1 = ;
SQLEXEC(HAND,'update ' + M.S_DBF + " set expr='" + STR(VAL(QUERY.EXPR) + M.NEXT) + ;
"' where id=?m.id")
IF HAND1 <> 1
SQLROLLBACK(HAND)
MESSAGEBOX(M.ID + ' 数据库内部错误,请立即停止操作并与系统管理员联系!',16,'警告')
NEXT = 0
ELSE
_COMMIT(HAND)
NEXT = VAL(QUERY.EXPR) + M.NEXT
ENDIF
ENDIF
SELECT (M.OLDAREA)
RETURN M.NEXT
*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -