数据库多次执行修改操作SqlCommand报“执行超时已过期。完成操作之前已超时或服务器未响应。 ”的错误

LWLIFE 2020-05-19 09:03:10
使用SqlConnection,SqlCommand从数据库里查询出数据,然后循环根据状态修改数据,在执行到4015行处就会报"执行超时已过期。完成操作之前已超时或服务器未响应。 "这个错误,增加了Timeout时间也不行,真奇怪,大部分都是这个位置就出出错,请教这个是什么原理的。
...全文
2525 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
循环撒。。。
LWLIFE 2020-05-23
  • 打赏
  • 举报
回复
引用 2 楼 正怒月神 的回复:
你把数据取出来,
先放到List<Model>,
然后关闭了sqlconnection,
想怎么操作这个List<model>就怎么操作。
别再reader里去搞多余的事情。


引用 3 楼 兔子家族-二哥 的回复:
[quote=引用 楼主 LWLIFE 的回复:]
使用SqlConnection,SqlCommand从数据库里查询出数据,然后循环根据状态修改数据,在执行到4015行处就会报"执行超时已过期。完成操作之前已超时或服务器未响应。 "这个错误,增加了Timeout时间也不行,真奇怪,大部分都是这个位置就出出错,请教这个是什么原理的。


那你先把他读取出来装到一个集合里,DataSet或者list什么的 再去修改他撒[/quote]

谢谢了,那修改的时候一循环LIST一个一个修改还是怎么样操作批量提交LIST修改?
EdsionWang 2020-05-20
  • 打赏
  • 举报
回复
你这情况使用可以考虑SqlDataAdapter + DataSet ,将数据取出内存里,改好后再一次更新到数据库。SqlCommand执行要求一直与数据库保持连接的。
  • 打赏
  • 举报
回复
引用 楼主 LWLIFE 的回复:
使用SqlConnection,SqlCommand从数据库里查询出数据,然后循环根据状态修改数据,在执行到4015行处就会报"执行超时已过期。完成操作之前已超时或服务器未响应。 "这个错误,增加了Timeout时间也不行,真奇怪,大部分都是这个位置就出出错,请教这个是什么原理的。


那你先把他读取出来装到一个集合里,DataSet或者list什么的 再去修改他撒
正怒月神 2020-05-20
  • 打赏
  • 举报
回复
你把数据取出来, 先放到List<Model>, 然后关闭了sqlconnection, 想怎么操作这个List<model>就怎么操作。 别再reader里去搞多余的事情。

110,535

社区成员

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

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

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