C# asp.net 想在任何时候断开数据库连接
发布网友
发布时间:2022-04-09 16:34
我来回答
共5个回答
热心网友
时间:2022-04-09 18:04
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();
热心网友
时间:2022-04-09 19:22
首先可以判断数据库是否连接,如果连接了,就执行断开即可,如果没有连接,可以执行自定义的操作
/// <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;
}
}
热心网友
时间:2022-04-09 20:56
using (SqlConnection con = new SqlConnection())
{
con.ConnectionString = "连接字符串";
SqlCommand cmd = new SqlCommand("你的SQL语句", con);
con.Open(); //在Open之前,先处理好你的OOXX以及其他的事情,别Open后处理与数据库无关的工作
SqlDataReader reader = cmd.ExecuteReader();
}
热心网友
时间:2022-04-09 22:48
每一功能段的结尾都加上断开数据连接的语句就行了吧,需要时再连接。追问是不是,就如:在页面加一个按钮,然后添加con.close()?
这样我调试过,跳不进去。
\
追答不是增加按钮,是直接添加在程序中,比如:
con.open();
........(程序功能段)
con.close();
具体语法可能不正确,你自己查查,就是这个意思。
打个比方吧,就好像你每做完一件事就要把工具放回原位以便于下次使用,一样的道理。
楼上的回答很好的,每开启一个连接就要及时关闭,最晚开,尽早关,以节约数据库服务器资源。
热心网友
时间:2022-04-10 00:56
仅供参考:
1.把不经常用的数据写在缓存中。
2.把一些老数据放在另一个数据库中。
3.最好是,没开启一个连接就要及时关闭,最晚开,尽早关。