建议采用第一种方式操作。
理由如下:
1、每次操作之前建立连接,保证在操作时连接的有效性,提高可靠性。
2、操作完马上关闭,便于释放资源,提高系统性能。
3、采用Application变量会站用系统资源。
理由如下:
1、每次操作之前建立连接,保证在操作时连接的有效性,提高可靠性。
2、操作完马上关闭,便于释放资源,提高系统性能。
3、采用Application变量会站用系统资源。
解决方案 »
- 验证码写入session以后,其他页面如何获取啊?
- 做大型出入境的门户网站有兴趣者一起商讨
- 怎样给 linkbutton 控件自定义索引值?
- 下载次数统计
- 本人第一个项目房产程序如何?大家来评评
- 怎样将一个变量的值作为xslt中的参数??
- 跪求解决办法,这年头程序员都不容易
- (图片传输)用vb.net(可以是其他语言)向.net (api..aspx)接口post二进制文件流怎样在.net里取得值并返回结果.(也就是对post传输"multipart/form-data"的流进行处理与返回)请各位帮帮我~100分...等待中~
- 引用脚本文件时的问题?
- 用户密码加密方法
- 各位大哥救救小女子呀,如何在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()的时候就调用一下。
这就浪费了:)
--