C# asp.net 想在任何时候断开数据库连接

C# asp.net 页面读取数据库数据,但是数据很多,有时会很忙,想在任何时候断开数据库连接,以后再查,要怎实现功能

第1个回答  2013-01-21
1.如果说数据块多,请求SQL的次数多,那就每次请求完了就把连接断开以后再去连接下一个SQL块:连接的时候使用:
SQLConnection con = new SQLConnection(ConnectionString);

con.open();

//...读数据等操作

con.close();

2.如果一个数据块数据量很大,那你可以考虑使用分页来做,定好显示数据的条数,每次只请求当前页的行号,这样就能大大降低加载的时间,也可以降低数据库的负载:
SQLConnection con = new SQLConnection(ConnectionString);
string sql = "select * from (select rownum(),* from table where title like '%高兴%')as temptable where rownum between 起始行号 and 截止行号 ";

SQLCommandString cmd = con.CreateSQLCommand(sql);

con.open();
//...读数据等操作
con.close();本回答被网友采纳
第2个回答  2016-03-02
首先可以判断数据库是否连接,如果连接了,就执行断开即可,如果没有连接,可以执行自定义的操作
/// <summary>
/// 判断数据库是否连接
/// </summary>
/// <returns>是否连接</returns>
public bool IsConnected()
{
SqlConnection connection = new SqlConnection(connectionString);//connectionString 数据库连接字符串
try
{
if (connection.State != ConnectionState.Open)//判断数据库状态是否断开
{
connection.Open();//连接数据库
}
return true;
}
catch
{
connection.Close();//关闭数据库连接
return false;
}
}
第3个回答  推荐于2016-10-23
using (SqlConnection con = new SqlConnection())

{
con.ConnectionString = "连接字符串";
SqlCommand cmd = new SqlCommand("你的SQL语句", con);
con.Open(); //在Open之前,先处理好你的OOXX以及其他的事情,别Open后处理与数据库无关的工作
SqlDataReader reader = cmd.ExecuteReader();
}本回答被提问者采纳
第4个回答  2013-01-21
每一功能段的结尾都加上断开数据连接的语句就行了吧,需要时再连接。追问

是不是,就如:在页面加一个按钮,然后添加con.close()?
这样我调试过,跳不进去。
\

追答

不是增加按钮,是直接添加在程序中,比如:
con.open();
........(程序功能段)
con.close();
具体语法可能不正确,你自己查查,就是这个意思。
打个比方吧,就好像你每做完一件事就要把工具放回原位以便于下次使用,一样的道理。
楼上的回答很好的,每开启一个连接就要及时关闭,最晚开,尽早关,以节约数据库服务器资源。

第5个回答  2013-01-21
仅供参考:
1.把不经常用的数据写在缓存中。
2.把一些老数据放在另一个数据库中。
3.最好是,没开启一个连接就要及时关闭,最晚开,尽早关。