| 
 | 
	
 
 本帖最后由 方先生 于 2020-8-14 08:50 编辑  
 
操作sql脚本需要简单的数据库基础,可以先去搜索学习一下。 
 
基础知识:  
1、A0-A9 为字符型变量,可保存数字但不能直接用于inc dec运算 
2、%A0-%A9 为变量的值 
3、D0-D9 为数字型变量,可直接用于inc dec运算 
4、%D0-%D9 为变量的值 
5、字符型变量还有 B0-B9 
6、数字型变量还有 P0-P9 N0-N9 S0-S9 
7、%USERID为当前执行脚本的角色ID 
8、%USERNAME为当前执行脚本的角色名 
 
案例说明: 
(1) 
FormatStr "FLD_USERID='%s'" %USERID 
(这里相当于把%USERID送进字符串,结果是字符串,保存在A9) 
ReadValueSql "TBL_RELATPOINT" %A9 "FLD_USERID,FLD_POINT,FLD_OK" [@段] 
(%A9 指的是上面的Formatstr语句执行结果 这里 %A9 为SQL执行语句的条件) 
上面用MSSQL解释为:SELECT FLD_USERID,FLD_POINT,FLD_OK WHERE FLD_USERID='%USERID' 
 
(2) 
FormatStr "FLD_USERID='%s'" %USERID 
(这里相当于把%USERID送进字符串,结果是字符串,保存在A9) 
mov    A0  %A9 
(把上面赋值的字符串%A9赋值进A0) 
UpdateValueSql "TBL_RELATPOINT" %A0 "FLD_OK=0" 
         (表名     条件 改变语句) 
上面用MSSQL解释为: UPDATE TBL_RELATPOINT SET FLD_OK=0 WHERE FLD_USERID='%USERID' 
 
(3) 
FormatStr "FLD_USERID='%s'" %USERID 
(这里相当于把%USERID送进字符串,结果是字符串,保存在A9) 
mov  A6 %A9 
(把上面赋值的字符串%A9赋值进A6) 
mov  D8 0 
(D8赋值为0) 
FormatStr "FLD_POINT='%s'" %D8 ---------------------------(程序A) 
(这里相当于把%D8送进字符串,结果是字符串,保存在A9) 
UpdateValueSql "TBL_RELATPOINT" %A6 %A9 
(表名 条件 改变语句) 
这里的%A9为 "FLD_POINT=0" 即(程序A)运行所保存的结果A9 --改变语句 
这里的%A6为 "FLD_USERID='%USERID'"  --条件 
 
(4) 
mov A1  %USERNAME 
(取当前执行脚本的角色名,保存在A1  ,假设A1='张三') 
mov D0  1 
(相当D0=1) 
FormatStr "FLD_CHARACTER='%s' AND FLD_TYPE='%s'" %A1 %D0 
(运行后字符串为  FLD_CHARACTER='张三' AND FLD_TYPE='1') 
不用说他的功能了吧,当然可以把条件改成两个AND,三个AND,的多重条件 
 
 
 
 
 
 
 
 |   
 
 
 
 |