关于ExecuteNonQueryr执行慢的问题

Jgood_boy 2011-03-18 09:44:48

try
{
//创建一个SqlConnection对象
string strCon = "Initial Catalog='***';Server='192.168.1.251,1433';User ID='sa';Password='server';Persist Security Info=True";
SqlConnection myConn = new SqlConnection(strCon);

sqlstr = "insert into AccountManual(MEMID,AMDate,AMNum,ForeTotalNum,TotalNum,ClassID,OperateDate,Operator) " +
"values('" + MEMID + "','" + AMDate + "'," + AMNum + "," + ForeTotalNum + "," + TotalNum + ",0,'" +
DateTime.Now + "','" + Convert.ToString(emp.EmployeeName) + "')";//select @@IDENTITY";

myConn.Open();
SqlCommand sqlCmd = new SqlCommand(sqlstr, myConn);
sqlCmd.ExecuteNonQuery();
myConn.Close(); //关闭连接

}
catch (Exception ex2)
{

}


AccountManual 表里面写有触发器,并且有很复杂的逻辑运算。
每当我操作该表的时候执行到 sqlCmd.ExecuteNonQuery(); 就会等待时间太久。
有没有什么方法只对连接执行 Transact-SQL 语句不返回受影响的行数。
...全文
519 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jgood_boy 2011-03-21
  • 打赏
  • 举报
回复
搞不懂.....
AFTER INSERT,DELETE,UPDATE
AS
BEGIN
SET NOCOUNT ON;


不知道和SET NOCOUNT ON;有关系吗
Daqing 2011-03-18
  • 打赏
  • 举报
回复
SqlCommand sqlCmd = new SqlCommand(sqlstr, myConn);
myConn.Open();
sqlCmd.ExecuteNonQuery();
myConn.Close(); //关闭连接
hiboys 2011-03-18
  • 打赏
  • 举报
回复
不对,是在这行 myConn.Open();
hiboys 2011-03-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jgood_boy 的回复:]
我在查询分析器里面执行insert into AccountManual很快 1s~3s
但是在程序里面执行到sqlCmd.ExecuteNonQuery(); 就会等待时间太久
[/Quote]

不要怀疑ExecuteNonQuery
关键在你这行, SqlCommand sqlCmd = new SqlCommand(sqlstr, myConn);
这就包括连db的时间的,重复插的话可以考虑保持连接。
再有问题的话考虑写个存储过程来插数

PitTroll 2011-03-18
  • 打赏
  • 举报
回复
触发器影响插入的速度吗?还是有索引导致的问题?
ILOVE_ASPNET 2011-03-18
  • 打赏
  • 举报
回复
又不是批量插入 用不着 sqlbulkcopy 小题大做了, 才新增一条数据就很慢,而且也就简单的一条INSERT 语句能有什么问题, 慢应该是别的原因,看服务器慢不慢,或者说内存CPU跑了多少, 程序里面有没有东西没有释放掉,种种原因都会导致 占用内存。。。
天罡gg 2011-03-18
  • 打赏
  • 举报
回复
LZ可以采用sqlbulkcopy
yeaicc 2011-03-18
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/zh-cn/library/7b6f9k7k(v=VS.80).aspx
Jgood_boy 2011-03-18
  • 打赏
  • 举报
回复
请问BeginExecuteNonQuery要怎么使用。
Jgood_boy 2011-03-18
  • 打赏
  • 举报
回复
设过断点就是ExecuteNonQuery等待时间太久
机器人 2011-03-18
  • 打赏
  • 举报
回复
用异步的执行。 BeginExecuteNonQuery 或者你自己把你这个方法放到 Delegate里,BeginInvoke
porschev 2011-03-18
  • 打赏
  • 举报
回复
你断点在ExecuteNonQuery那里看看

是不是到底是它执行慢。。

我觉得应该是别的地方。。。。这个一个简单插入不应该慢啊
Jgood_boy 2011-03-18
  • 打赏
  • 举报
回复
我在查询分析器里面执行insert into AccountManual很快 1s~3s
但是在程序里面执行到sqlCmd.ExecuteNonQuery(); 就会等待时间太久
"plist图片查看工具 v1.2"是一款专为Mac用户设计的应用程序,旨在帮助开发者和设计师更方便地管理和查看.plist格式的图片资源。在iOS和Cocos2d-x游戏开发中,.plist文件通常用于存储图像序列,如动画帧或精灵表,以便于程序加载和播放。这款工具的最新更新v1.2版增强了用户体验和功能性。 更新后的功能之一是允许用户通过双击图块列表上的图块名称或大图上的图块来快速复制图块名称到剪贴板。这一改进极大地提升了工作效率,用户不再需要手动输入或复制这些名称,尤其在处理大量图块时,节省了宝贵的时间。 新添加的“导出图块”功能是这次更新的亮点。这个功能使得用户能够将查看的图块直接导出为所需的文件格式,这可能是PNG、JPG或其他常用的图像格式。这对于需要将单个图块用于其他项目,或者进行进一步编辑的开发者来说非常实用。它简化了从.plist文件中提取特定图像的过程,避免了在不同软件之间切换的繁琐操作。 Cocos2d-x是一个广泛使用的开源2D游戏开发框架,支持多种平台,包括iOS、Android和Mac等。.plist图片查看工具与Cocos2d-x的结合,为开发者提供了一个直观的界面,以管理他们在游戏中使用的图像资源。通过这款工具,开发者可以预览和调整Cocos2d-x项目中的精灵表和动画,确保游戏视觉效果的准确性和流畅性。 在实际应用中,例如在创建角色动作或游戏场景的动画时,开发者可以利用此工具快速检查每个帧的细节,然后轻松导出需要的图块进行微调。此外,这个工具还可以用于教学和学习,帮助初学者理解.plist文件的结构和工作原理。 "plist图片查看工具 v1.2"是一款针对Cocos2d-x开发者和设计师的强大辅助工具,其最新的更新提升了用户交互性和实用性,为.plist文件的管理和使用提供了便利。无论是快速复制图块名称还是导出单个图块,这些功能都大大提高了工作效率,降低了开发过程中的复杂性。对于那些频繁处理.plist格式图像资源的人来说,这无疑是一个不可或缺的利器。

111,110

社区成员

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

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

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