天软金融分析.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模式进行执行,例如: