利用ADO连接SQL Server,传递"delete from table1"给SQL Server会有问题?

caoguangxin 2002-03-29 12:33:11
各位大虾,小弟这厢有礼了,请教一个奇怪的问题:
我用C++ Builder 5.0做了一个程序,利用ADO连接SQL Server 2000,想删除一个表内的所有记录,我这样写:
int ErrorCode = 0;
ADOQuery->SQL->Clear();
ADOQuery->SQL->Add("delete from table1");
try
{  ADOQuery->ExecSQL();
}
catch (EOleException &E)
{  // 出错处理
  ErrorCode = -1;
}
程序在SQL Server 7.0下运行得很好,但在SQL Server 2000下运行时,程序运行正常,但每次却只从Table1中删除了部分记录,没有完全删除所有的记录,这是为什么,是因为SQL Server的版本不同所致吗?
...全文
128 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
caoguangxin 2002-03-29
  • 打赏
  • 举报
回复
在我的程序里已经设了MaxCount=20啊,不行。
而且按照BORLAND的帮助里的说明,MaxCount只是对返回的结果集的记录条数有影响啊,会影响到delete from table1吗?
我再试试。
OldMan0516 2002-03-29
  • 打赏
  • 举报
回复
增加一条:
AdoQuery1->MaxCount=20;
试试看,肯定OK
caoguangxin 2002-03-29
  • 打赏
  • 举报
回复
是和2000有关?不会吧?我试试。
OldMan0516 2002-03-29
  • 打赏
  • 举报
回复
因为在2000下,AdoQuery的默认缓存是20条,对应语句是
Set Rowcount 20
应该删除前设成0
caoguangxin 2002-03-29
  • 打赏
  • 举报
回复
哦,终于弄出来啦!
在SQL Server上用Profile仔细观察才发现倪端,原来是这样子的:
如果在ADOQuery里面设了MaxRecords,那么在执行ADOQuery的Open或是ExecSQL的时候,在SQL 2000里就会先向SQL Server发一个set rowcount xxx,然后再执行delete from table1,而这种情况在SQL 7.0的时候却不会发生,所以程序在SQL 7.0下面运行没事。
先谢谢大家啦,问题弄明白了就好,散分!
N_chow 2002-03-29
  • 打赏
  • 举报
回复
沒錯啊!!
TRUNCATE TABLE table1 是把table1里所有的資料全部都刪掉,速度比用DELETE快。
caoguangxin 2002-03-29
  • 打赏
  • 举报
回复
To N_Chow(一劍飄香++) :我不想把Table1整个干掉啊,结构还得留着,只删除记录。
To mmzxg(超级笨蛋):我设过时间,没有问题的,改时间也是一样的结果,我在SQL 7.0上是没有问题的哦!换了SQL 2000就不行了。
咦,有点苗头,我好象快查到了,再试试!
mmzxg 2002-03-29
  • 打赏
  • 举报
回复
应该是连接时间的问题,把时间设大一点,可能是连接数据库时时间太短了
N_chow 2002-03-29
  • 打赏
  • 举报
回复
我想可能是由於CommandTimeOut的原因。
你把SQL 語句改成
TRUNCATE TABLE table1
試試
OldMan0516 2002-03-29
  • 打赏
  • 举报
回复
写错了!
AdoQuery1->MaxCount=0;
他妈的
内容概要:本文针对主动配电网中风能与光伏发电出力的不确定性问题,提出一种基于多时间尺度滚动优化的协调调度方法,并在IEEE33节点标准系统上完成了Matlab仿真验证。研究采用二阶锥规划(SOCP)技术构建数学模型,有效处理非线性功率约束,提升求解效率与精度;通过引入滚动优化机制,融合短期预测与长期调度,增强了系统应对可再生能源波动的鲁棒性与运行经济性。论文系统阐述了模型构建原理、优化算法设计流程及仿真分析过程,配套提供完整Matlab代码资源,涵盖数据预处理、模型求解与结果可视化,便于读者复现、验证与拓展研究。; 适合人群:适用于电力系统、综合能源系统及智能电网方向的研究生、科研人员和工程技术人员,尤其适合具备优化建模基础与Matlab编程能力的研究者。; 使用场景及目标:①掌握风光出力不确定性建模与处理方法;②学习多时间尺度滚动优化在主动配电网调度中的应用;③理解二阶锥规划在电力系统最优潮流中的转化与实现技巧;④基于IEEE33节点系统开展优化算法仿真、性能评估与对比研究;⑤为进一步融入储能配置、需求响应等元素提供技术基础。; 阅读建议:建议结合网盘提供的完整代码资源,按照文档逻辑逐模块运行与调试程序,重点关注目标函数构建、约束条件线性化处理及滚动窗口更新机制,鼓励在此基础上进行算法改进与应用场景延伸。

34,876

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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