天软金融分析.NET函数大全
>
TSL函数
>
资源访问函数
>
数据库访问函数
>
Openforwardonly模式
>
ExecSQL函数中设置Openforwardonly模式
第二种:设置当前环境缺省为Openforwardonly模式
复制链接
在ExecSQL的方式中,还可以通过配置改变当前交互环境的默认方式为Openforwardonly模式。
支持配置ExecSql交互的缺省方式与指定数据库交互的缺省方式。
当配置为Openforwardonly模式后,可以通过指定设置Flags参数的第26位为真(即0x4000000)来取消,即临时指定为Notopenforwardonly模式。
配置方法:
[ExecSql Config]
ExecSqlForwardOnly=1
#设置此处则,默认任何别名在EXECSQL均启用openforwardonly模式
[DBAlias]
ExecSqlForwardOnly=1
#设置此处则,默认数据库别名DBAlias在EXECSQL均启用openforwardonly模式在天软安装目录下的plugin\ExecSql.ini文件中,添加以下配置
注:以上缺省方式的设置仅支持ExecSql的操作,不支持TS-SQL语句。
SQLStr:="select * from Test where EndDate>='2013-06-30'";
Ret:=rdo2 ExecSQL('SQLAlias',SQLStr,t);
if ret then
return result;
else
return rdo2 SQLErrorMsg();//报错信息使用范例:在配置了上述缺省方式之后,操作如下
即,由于ExecSQL执行的当前环境缺省为Openforwardonly模式,所以默认情况下上述执行的sql语句不会缓存结果集。
SQLStr:="select * from Test where EndDate>='2013-06-30'";
Flags:=0x4000000; //指定为Notopenforwardonly模式
Ret:=rdo2 ExecSQL(Flags,'SQLAlias',SQLStr,t);
if ret then
return result;
else
return rdo2 SQLErrorMsg();//报错信息
在这种环境下,当提取的某次结果集,在后面的过程中还需要被再次或多次访问时,我们又希望它能够被缓存,来提高访问效率,此时,我们可以在本次执行的ExecSQL操作中进行单次取消Openforwardonly模式,进入Notopenforwardonly模式进行执行,例如: