数据库高手:C#如何中断对数据库的访问 我在C#中启动一个线程进行查询,由于数据库很大,查询的时间可能会很长,在这个过程中,有可能因为程序的需要去中断这个查询,用直接abort线程是不行的,即使线程退出了,查询也要执行完了才退出,这样很占用资源。哪位大侠教教在查询中如何停止查询并释放一起资源。PS.我用的mysql数据库,不过这个我想不是重点,对各种数据库应该都一样 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 数据库是并发查询的, 用sql 语句停止查询吧 好象没办法,如果mysql的话,需要先show processlist; 查到那条查询对应的ID然后kill id;才可以 直接关闭数据库连接这样是不行的,C#应用程序那边是断开连接了,但是数据库还在处理;4楼的办法在mysql是可行的,但是又需要维护一个查询ID列表,而且又涉及到多线程,kill id之后的状态如何返回给应用程序也是个麻烦,只能再去扫描一次ID列表,总之不是很理想;6楼:太粗暴了,数据库不只为我一个线程服务的。 MY SQL不清楚SQL Server可以这样,在长查询执行前通过:select @@SPID 取得该连接的进程ID,由另一个连接执行KILL ID即可.我们一般在需要独立操作数据库时,用KILL来清除所有的客户连接 谢谢jointan的回复,我目前在mysql中也是这样处理的,维护一个ID列表,需要中断的时候直接kill id,看样子没有更简单的方法了。 线程开启的函数能够正常运行,但是 UpdateStatus(text)函数不能正确运行,按钮状态不能更新 如何用C#写出这样的xml文件 请问后台如何知道html控件checkbox是否被选中,并得到它的值 如何将一个计算公式传入存储过程中 急!小问题!用 Process p来得到进程时,为什么读软驱? 菜鸟问路 Timer 组件问题(在线等) winform控件赋值的问题 c++函数声明在C#里该怎样写啊 有关类的问题 C#中文资料,网上的信息大部分是假的,这里直接提供本人网站的链接,快来下载!!! 16进制的加法运算! 硬件检测到一个组帧错误
然后kill id;
才可以
4楼的办法在mysql是可行的,但是又需要维护一个查询ID列表,而且又涉及到多线程,kill id之后的状态如何返回给应用程序也是个麻烦,只能再去扫描一次ID列表,总之不是很理想;
6楼:太粗暴了,数据库不只为我一个线程服务的。
KILL ID即可.我们一般在需要独立操作数据库时,用KILL来清除所有的客户连接