编程社区 » C#编程 » 请各位指点一下,vs2003C#中,for循环使用ExecuteNonQuery();

请各位指点一下,vs2003C#中,for循环使用ExecuteNonQuery();


III_dont_know



 发表:

请各位指点一下,vs2003C#中,for循环使用ExecuteNonQuery();


conn.Open()与conn.Close()应该写在循环,还是应该写在循环内呀???
void ffi()
{
...
for(int cd=0;cd<cclass.Length;cd++)
{
string insertcmx="insert into ktb values('"+bj[cd].ToString().Trim()+"','"+rs[cd].ToString().Trim()+"')";
SqlCommand insmx=new SqlCommand(insertcmx,conn);
conn.Open();
inscmx.ExecuteNonQuery();
conn.Close();
}
}

void ffw()
{
...
conn.Open();
for(int cd=0;cd<cclass.Length;cd++)
{
string insertcmx="insert into ktb values('"+bj[cd].ToString().Trim()+"','"+rs[cd].ToString().Trim()+"')";
SqlCommand insmx=new SqlCommand(insertcmx,conn);
inscmx.ExecuteNonQuery();
}
conn.Close();
}




xz_king
回复:

后面的那种。

III_dont_know
回复:

能详细说明一下,为什么吗?谢谢

zhangzengping
回复:

连接数据库! 当然是连接越少越好, 节省资源!

Animus
回复:

明显循环里代码越少越好

shmily_312
回复:

后面的好,对数据库的打开关闭放循环外面,使程式更优化。

tianxingzh
回复:

本人觉得这就好像开汽车,频繁的启动、刹车、启动、刹车、启动、刹车是很废油的,对汽车本身的磨损也越大,如果不是像F1赛车道那样的路面而又是短距离的话,那么建议一脚踩到底。也就是说后面的方法相对好一点。

**************个人见解,实属扯淡,仅供参考,学习+UP!*************

pangjc0815
回复:

肯定是写在循环外的啊,要不执行一次就关闭数据库连接了,以后的都不会执行,所以也就无法起到For循环的作用了。

lovvver
回复:

应该写在循环外,如果写在循环内,那么你是一次循环要建立一个连接,执行完毕,然后关闭连接,那不是浪费资源吗?

muli7108
回复:

在第一部分的程序中每一个sql语句都要执行一次数据库的连接,而这种连接系统维护了一个对象池。每一个连接都先从对象池中取出,如果对象池中没有将创建新对象,并加入对象池。而对象池中的无用对象需要一定的时间后才能释放。所以如果你在短时间内使用的连接很多的话,就有可能造成对象池满员。你再需要连接的话就需要等待释放,而你等待的时间远比释放的时间短,这时系统就会告诉你连接超时,系统抛出异常了。第二种方法好些。当然也可以考虑用c#提供的xml来批量插入。
个人意见,仅供参考。

qiri07
回复:

循环外,
防在循环里面,你每次循环都要打开关闭数据库连接,很费资源

shoushii
回复:

conn.Open()与conn.Close()应该写在循环,还是应该写在循环内呀???
out

liujia_0421
回复:

当然循环外,放在里边,打开又关闭,性能有问题啊...


相关文章
在线请教
2个DataTable的对比问题
关于枚举类和集合类的问题,高手指点下哦
如何在c# 中使用zlib.dll 库?
[求助]做8出这个题目
什么是键?
指定默认打印机时出错,请教各位高人?
mediaplayer控件在播放前等待时间过长的原因
c#的一个类型转换的问题[给分哦]
一个小小问题关于窗体程序(在线等)
百分求rasional rose破解版下载
如何捕获可执行程序执行的事件?
热门文章
DataGridView如何保存编辑后的行到数据库?
简单问题:combobox 如何把选中的项的value值传到textbox中
如何读取Excel文件中有数据的单元格的行数? (注mysheet.UsedRange.Columns.Count 函数不是非常准确)
c#中,MSChart 如何引用操作!!
子窗体如何调用父窗体的函数和变量,
C#怎样访问Access数据库中的OLE对象类型-----急,请高手帮忙
请教 怎样用C#修改Word的页眉页脚
c# winform datagrieview 编辑添加列进添加的DataGridViewButtonColumn 找不到点击事件?那有?
web中当子窗口弹出后,如何使鼠标点击父窗口上无效?(非模式)
请问我在C#中怎么调用水晶报表,我的水晶报表是11的
如何获取Udp远程主机的信息
C#中如何判断标点符号

编程社区 2008 浙ICP备09013498号
© TinyBBS.cn
编程好站连接:codeproject sf.net codeplex