|
❈同步异步差异 ①同步方式 紫金桥常用SQL查询方式是同步方式,当发生查询数据量过大或关系库所在主机网络故障等需要较长时间才能返回结果的情况时,引起的DB、VIEW和WEB客户端进程阻塞,表现就是画面卡住不动,操作不了。
②异步方式 为避免同步的缺点,紫金桥跨平台里增加了异步查询组件(20211120之后版本里有),发出查询命令后,主进程不会等待查询结果返回,不会影响到任何数据刷新、动画以及脚本的执行。
❈异步查询介绍 发起查询请求后,发起请求的进程并不等待查询结果返回而继续执行其他任务,查询返回的结果由回调函数处理。 用于处理异步查询返回结果的函数。当异步查询的结果返回时,执行回调函数的函数体中的脚本。
❈异步查询使用步骤
注意:回调函数写了两种,①对于执行 ExecNoRet不带记录集返回的查询,回调函数 传参为string类型,空表示成功,否则为错误描述。 ② 对于执行Query 带记录集返回的查询,回调函数 传参为Obtable类型,记录集结果返在tab表里.
- //插入数据
- SqlAsyn1.ExecNoRet("insert into kuanbiao_insert values("+ToString(CurTime)+","+ToString(Rand(100))+","+ToString(Rand(100))+")",ProcessSqlRet)
复制代码- //查询数据
- SqlAsyn1.Query("select * from kuanbiao_insert",ProcessSqlQueryRet)
复制代码- ExecNoRet(String SqlCommand, Function CallBack) As Bool
- 说明
- 执行无返回记录集的SQL命令,如建表、插入、更新、删除等SQL命令。回调函数需带有String参数。
- 参数
- SqlCommand: 要执行的SQL命令。
- CallBack: 回调函数,带有一个Err字符串参数,Err空表示成功,否则为错误描述。
复制代码- Query(String SelectString, Function CallBack) As Bool
- 说明
- 向指定的数据源发出数据查询请求,异步返回结果。结果返回时调用回调函数CallBack,该函数带有ObTable参数。
-
- 参数
- SelectString: 查询语句
- CallBack: 函数参数必须为传地址的ObTable对象,该对象中为返回的查询结果
复制代码
|