for 循环 完毕后在关数据库连接。这样可以减少资源耗费。Close虽然不会立即关闭,但是从连接池获取连接也是要耗费资源的。sql尽量用参数方式,这样可以减少dbserver cpu的占用率,因为sql不需要重复编译。大概代码如下:
using(var con=new Connection())
{
var command=//创建Parameter列表和SqlCmmand
for(int i=0;i<max;i++)
{
//把Value值 给 commnad.Parameters
command.execute()
}
}
当然还有其他的优化方式,但至少要做到上面那种。
你能把For里要做的事情直接在一次操作数据库的时候做完不就更吗。?至少像你这样操作数据库的还真不多见
如果你非要这样写的话,你必须其他用到sqlconnection 的地方都要加条判断
//假如你的sqlconnection对象是sqlcon
if (sqlcon.State != ConnectionState.Open)
{
sqlcon.Open();
}
或者
if(sqlcon.State!=Connection.Closed)
{
sqlcon.Close();
}
这样希望能够避免你代码中的其他错误
如果是同一个链接的话,为什么每次要new一个链接?
出现什么样的异常?
每次打开的时候判断它的状态,使用using。
using(SQLConnnection conn=new *****)
{
//
}
这样每次用完就会自己关闭了。但你的需求很诡异啊。是非常诡异,我们都是尽量减少数据库连接,因为连接数据库是很浪费性能的。数据库连接最好是单例的,放在那边,一次初始化永远使用多好啊
既然你都用FOR了,为什么不把SQL全拼在一起,然后一次性的执行数据库操作呢?这样对性能的资源都消耗的少