sqlCommand执行多个操作出去

coo_key 2005-01-13 05:00:16


SqlCommand_PO2.CommandText = "Update PODetCust set DlvyQty = DlvyQty + 32 where PONbr='S1100453' and Invtid='01150170' and dateDiff(day,DateDlvy,'2004-11-1') = 0; Insert into ShipPoCust (DNNbr,PONbr,DateDlvy,Invtid,AllotQty,UpdateUser,UpdateDT) values ('dfa','S1100453','2004-11-1','01150170',32,'DEVELOPER',getDate())"

Update和Insert之间用分号连接
然后execute
结果,数据库半天没有反应,然后出现
Message "超时时间已到。在操作完成之前超时时间已过或服务器未响应。"
的错误
为什么?
如果只执行Update是可以的
都放到查询分析器中也没有问题
SqlCommand_PO2.CommandText = command1
SqlCommand_PO2.execute
SqlCommand_PO2.CommandText = command2
SqlCommand_PO2.execute

也出现相同的问题,insert的时候停止响应了,谁碰到过?why?
...全文
85 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaweiping 2005-01-13
  • 打赏
  • 举报
回复
为什么不用存储过程
coo_key 2005-01-13
  • 打赏
  • 举报
回复
try用了
事务也用了...没用...
jingqiu5 2005-01-13
  • 打赏
  • 举报
回复
用事务处理和TRY
coo_key 2005-01-13
  • 打赏
  • 举报
回复
我对相同的Update语句执行两次
用两个不同的Conn和command
但是第一个可以,第二个也不行,我晕死
这是什么意思啊?
coo_key 2005-01-13
  • 打赏
  • 举报
回复
我现在两条语句分别用两个不同的SqlCommand,SqlConn
但是执行到insert的时候还是出现停止响应,然后超时的情况阿
为什么呢?
放到查询分析器中很快可以执行完成
coo_key 2005-01-13
  • 打赏
  • 举报
回复
没有用..我已经用了分号了
如果不行也不会抱超时阿
huxingyu 2005-01-13
  • 打赏
  • 举报
回复
强烈不建议 采用 ;号 进行多次数据库操作

其实就算你合并了两个sqlStr但是 执行起来还是会有 先后之分

为了可读性和可扩展性 可以把sql command 写成 function

然后进行调用~~~效果很好的!
stephenZL 2005-01-13
  • 打赏
  • 举报
回复
"Update PODetCust set DlvyQty = DlvyQty + 32 where PONbr='S1100453' and Invtid='01150170' and dateDiff(day,DateDlvy,'2004-11-1') = 0 \n Insert into ShipPoCust (DNNbr,PONbr,DateDlvy,Invtid,AllotQty,UpdateUser,UpdateDT) values ('dfa','S1100453','2004-11-1','01150170',32,'DEVELOPER',getDate())"

两条sql语句间加一个"\n"

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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