TADOStoredProc异步执行怎么得到是否执行完毕?

zly1980 2009-03-19 01:41:37
一个线程使用一个ADOStoredProc1执行一存储过程,如果设置了ADOStoredProc1->ExecuteOptions=TExecuteOptions()<<eoAsyncExecute;
后,对于调用ADOStoredProc1->ExecProc();的线程来说是立即通过了的,但是这个时候存储过程并没有真的完成,那么当存储过程完成后,通过事件返回还是需要自己去判断某些对象的状态?
我将ADOStoredProc1的所有事件都写了代码,加上断点,ADOStoredProc1对应的CONNECTION对象也所有事件都写了代码,测试得到的结果是:只要异步执行,没有完成的事件被触发.
存储过程是很简单的SQLSERVER2000的:
CREATE PROCEDURE sp_test
AS
WAITFOR delay '00:00:13'
GO

哪位有异步调用经验可否说说?非常感谢!
我实际的需求是:一个线程执行存储过程的时候,如用户设了TIMEOUT限制,在规定的时间内如果存储过程没有执行完,这个线程可以自己检测到超时,如果不采用异步执行,那么在执行期间线程会挂死,不希望出现挂死的情况.
...全文
184 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangangs 2009-03-26
  • 打赏
  • 举报
回复
有点难度啊
stevenjscn 2009-03-20
  • 打赏
  • 举报
回复
多线程之间需用到同步。
我不懂电脑 2009-03-19
  • 打赏
  • 举报
回复
有窗口的情况下是有事件触发的。
TripH0101 2009-03-19
  • 打赏
  • 举报
回复
GZ
zly1980 2009-03-19
  • 打赏
  • 举报
回复
如果存储过程是
CREATE PROCEDURE sp_test
AS
declare @i int
while 1=1
begin
set @i=0;
end
GO
的话,超时属性是不生效的.
内容概要:本文档详细配置了一个基于AI的CAD/CAE技术支持智能体,通过线性节点工作流实现从用户提问到专业答复的闭环处理。系统由用户输入、知识检索、大语言模型(LLM)推理和直接回复四个节点构成,强调严格依据知识库内容响应,禁止模型“幻觉”。核心要求包括:在回答前识别工程逻辑矛盾、仅使用【SolidWorks装配体操作规范】.txt中的信息作答、操作步骤需条理清晰并包含安全警示。特别强调变量绑定与上下文占位符{{#context#}}的正确配置,以确保模型可读取知识库。提供了完整的System Prompt模板、变量设置指引及常见问题排查表,并通过典型测试用例验证智能体是否能正确识别矛盾并拒绝不合理请求。; 适合人群:AI平台运维人员、工业软件技术支持工程师、智能制造领域AI应用开发者;具备基本AI工作流编排经验的技术人员。; 使用场景及目标:①构建高可靠性的工程软件问答智能体,防止生成误导性操作指导;②实现对CAD/CAE操作问题的合规化、标准化自动响应;③训练模型识别用户请求中的工程逻辑矛盾,提升服务安全性与专业性。; 阅读建议:部署时须严格按照文档步骤完成知识库上传、变量绑定与提示词占位符插入,重点检查{{#context#}}是否存在以及result变量是否正确关联,避免因配置疏漏导致智能体失效或产生幻觉。

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧