建议采用第一种方式操作。
理由如下:
1、每次操作之前建立连接,保证在操作时连接的有效性,提高可靠性。
2、操作完马上关闭,便于释放资源,提高系统性能。
3、采用Application变量会站用系统资源。
理由如下:
1、每次操作之前建立连接,保证在操作时连接的有效性,提高可靠性。
2、操作完马上关闭,便于释放资源,提高系统性能。
3、采用Application变量会站用系统资源。
解决方案 »
- 怎么可以一次修改几十条记录?
- SQL存储过程动态创建表问题~
- 求教:想把数“20061225”使用datagrid中的dataformatstring,转为“2006年12月25日”
- 关于鼠标放在ImageButton上以后,图片变化的问题求教,真的没分了,拜托
- 有谁可以告诉我,在用户控件中可以加JS吗?
- DataList的ItemTemplate中button事件的捕获
- 有关于学习vs.net2003的书藉吗
- 指定的转换无效
- 为什么在本地测试成功的文件上传到服务器后就运行不了?
- 请问怎样实现以下功能?
- 各位大哥救救小女子呀,如何在xp上安装vs.net呀
- 水晶报表结合IE打印完整解决方案!!!!!!
看你页面要做的sql操作的多少, 决定用哪一种方式省资源又安全
我有一个数据库操作的类:
public class DatabaseWork
{
SqlConnection conn;
public DatabaseWork() // 构造函数
{
conn = new SqlConnection("....");
conn.Open();
}
public DataSet ListUser(string UserName)
{
DataSet ds;
conn.execute ....
return ds;
}
public DataSet ListComment(string UserName)
{
DataSet ds;
conn.execute ....
return ds;
}
}
在网页中用的时候:
DatabaseWork db= new DatabaseWork();
DataSet ds=db.ListUser("abc");
DataSet ds2=db.ListComment("abc");
是可以的,但操作多了,就会报那个“池连接错误”,意思是Conn没有Close();我的问题是,应该在哪里写conn.Close()呢?
在PreRender里面关闭,因为用户触发一个比如说click事件之后,可能pageload要用连接,在click事件处理代码里面也用到,这样就会浪费掉一个open。
而PreRender事件是在页面呈现给用户之前执行最后一个事件,不管怎么样pageload和prerender总是要执行的
public DataSet ListComment(string UserName)
{
conn.Open()
//执行内容 conn.Close()
}我一般是这样做的.
然后在在要使用 ListComment()的时候就调用一下。
这就浪费了:)
--