日期:2014-05-18  浏览次数:20493 次

为什么C# SqlCommand执行存储过程这么慢(局域网内)?[Sql Server2000(SP3)]
有一个需要通过C#程序执行的存储过程,在Sql查询分析器中执行最多也不过几分钟,但是使用SqlCommand执行一个小时都没有完成,为什么?有什么办法解决?

------解决方案--------------------
应该是你方法有问题,或者是网络有问题了,

正学情况下不会这么慢的,
------解决方案--------------------
是不是代码有问题啊

问问题之前先把代码贴上:)
------解决方案--------------------
游标效率低
------解决方案--------------------
不管怎么样,要顶一下.
------解决方案--------------------
你把C#调用存储过程的那段帖上来看看~~
------解决方案--------------------
试试用SqlCommand执行,我没有用过ProcedureCommand。


------解决方案--------------------
不知道,正常的话是不会有问题的哇~~再仔细检查一下ProcedureCommand类是不是有问题,


------解决方案--------------------
this.m_cmd.参数在哪儿加的啊?


------解决方案--------------------
AddParam这个方法没有把参数给m_cmd啊
------解决方案--------------------
你的Connection在哪里Open?
------解决方案--------------------
ProcedureCommand这個不會有問題,也是.net自帶的.
不過,LZ你這邊給參數的時候
dt.Rows[0][ "str_CompanyID "] ===> > 改為dt.Rows[0][ "str_CompanyID "].ToString()看看.


------解决方案--------------------
噫...
是不是應該sp_name在前?connection在後??
this.m_pcAutoQuote = new ProcedureCommand( "Sale_SP_AutoRunkhbjNew ",connection);