怪问题:线程中用ADOCommand无法执行SQL“truncate table tbname”

BigAngell 2010-10-08 04:06:10
在线程中创建ADOCommand并执行SQL“truncate table tbname”,报错“TRUNCATE TABLE command not allowed within multi-statement transaction.”

但如果在窗体上放一个TADOCommand,执行则正常,是何道理?

我查看了两个TADOCommand的属性设置都是一样的!!!
...全文
116 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
BigAngell 2010-10-09
  • 打赏
  • 举报
回复
感谢,明白了。
  • 打赏
  • 举报
回复
报错“TRUNCATE TABLE command not allowed within multi-statement transaction.”

确定是报的这个错么?truncate table这条语句是不能出现在事务中的,除非这个事务只有truncate table一条语句,因为truncate table不记录日志,而事务是以日志为基础的
kye_jufei 2010-10-08
  • 打赏
  • 举报
回复
命令未被允許截斷。。。(前一個事務未執行完成,後一個事務接著執行,肯定出錯。。。)
bdmh 2010-10-08
  • 打赏
  • 举报
回复
一个事务还没有完成,又要执行另一个事务,这是不行的,线程中操作,要注意临界和同步,保证一个事务完成后,再去执行其他事务

2,497

社区成员

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

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