以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  SQLCommand问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=57926)

--  作者:不倒的翁
--  发布时间:2014/10/8 14:21:00
--  SQLCommand问题
 因对统一数据库进行数据记录和查询,使用SQLCommand后经常出现“连接未关闭。 连接的当前状态为正在连接。”的错误。
请问如何避免。
翻阅BAIDU,都说是析构未关闭。
如何解决同时访问数据库的问题呢?
理论上建立多个相同配置不同名称的数据源能否有效解决这个问题咧???

--  作者:Bin
--  发布时间:2014/10/8 14:25:00
--  
不应该出现这个问题啊. 上个例子看看.
除非你在全局变量声明一个SQLCOMMAND 然后用计时器或者多线程 同时使用这个SQLCOMMAND

--  作者:有点甜
--  发布时间:2014/10/8 14:25:00
--  

 sqlcommand不应该报你这个错,每一次都是new 一个sqlcommand的。


--  作者:不倒的翁
--  发布时间:2014/10/8 14:26:00
--  
 全局未声明SQLCommand
只有全局代码中自己写的UDP数据接收代码中涉及SQLCommand
但也是New实例化的呀。

--  作者:不倒的翁
--  发布时间:2014/10/8 14:27:00
--  
以下是引用Bin在2014-10-8 14:25:00的发言:
不应该出现这个问题啊. 上个例子看看.
除非你在全局变量声明一个SQLCOMMAND 然后用计时器或者多线程 同时使用这个SQLCOMMAND


全局线程中是有使用SQLCommand的。但也是实例化的呀。

--  作者:Bin
--  发布时间:2014/10/8 14:29:00
--  
不能这样做,每次访问数据库都应该使用一个全新的SQLCOMMAND
--  作者:不倒的翁
--  发布时间:2014/10/8 14:31:00
--  

还有个情况哦。使用.NET的UDPClient后台线程接收数据,如果同时再启用计划管理,这个计划好像只能运行1次,再次开启没有反映的哦。

不知道是不是和线程冲突了,还是优先级的问题。


--  作者:不倒的翁
--  发布时间:2014/10/8 14:33:00
--  
以下是引用Bin在2014-10-8 14:29:00的发言:
不能这样做,每次访问数据库都应该使用一个全新的SQLCOMMAND

BIN版,全局我没有声明SQLCommand的,只有在UDPClient的事件中使用了SQLCommand,并且也是New的,事件是写在全局中的,这个应该没问题的吧。。。

--  作者:不倒的翁
--  发布时间:2014/10/8 14:36:00
--  


图片点击可在新窗口打开查看此主题相关图片如下:无标题.jpg
图片点击可在新窗口打开查看
全局中只有这么一个SQLCommand,还是NEW的。

窗口代码中写的SQL也都是New。。。。


--  作者:Bin
--  发布时间:2014/10/8 14:37:00
--  
不应该.你看一下出错的是那个SQLCOMMAND 再分析一下看看

搞不定传个可以重现错误的例子上来