连接池问题

wolfqixianfeng 2003-06-03 07:02:08
谁能告诉我连接池是怎么会事?该怎么用?用在什么地方 ?给个现成的例子。本周四结贴
...全文
27 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zwztu 2003-06-04
  • 打赏
  • 举报
回复
参考
ms-help://MS.VSCC/MS.MSDNVS.2052/cpguide/html/cpconconnectionpoolingforoledbnetdataprovider.htm
shuker 2003-06-03
  • 打赏
  • 举报
回复
好,学到了
顾君彦 2003-06-03
  • 打赏
  • 举报
回复
sqlconnection 默认就支持连接池操作,当每次建立连接使用的connectstring都一样时
sqlconnection 会启用连接池。
顾君彦 2003-06-03
  • 打赏
  • 举报
回复
连接池用在系统中需要对同一个数据源有多个连接的情况下使用.
比如说多线程对数据库操作,系统中有多个会话同时对数据库进行操作,为了事务的完整,必须使用多个连接.但实际工作中,所有会话同时进行的概率比较低,所以,在运行中,将若干个数据库连接保持在一个容器中,需要用时随时向这个容器进行获取,用完后交还给这个容器,以备其它需要使用的线程使用.这种工作方式的容器就叫做连接池.
连接池有几个好处,比如说,节省数据库连接资源.因为连接通过连接池做暂时保留后,可以减少不必要的重新建立连接,人份认证等工作,并且,连接的使用率提高了,可以有效的减少连接数量.

C#里使用连接池,例子:
public static void GetDataSetCorp2billl(string ConnectString,DataSetCorp2Bill Ds)
{
Ds.ENTRY_HEAD_INFO.Clear();
Ds.CMP_TAB.Clear();
Ds.T_GOODS_DECL.Clear();
Ds.cnc_corporation.Clear();
Ds.T_ENT_INFO.Clear();

if(conn==null)
{
conn = new SqlConnection();
conn.ConnectionString=ConnectString;
}
try
{
if(conn.State!=System.Data.ConnectionState.Open)
{
conn.Open();
}
string SelectCmdText =BuildCmdTextFromTable(Ds.cnc_corporation);
SqlDataAdapter Sda=new System.Data.SqlClient.SqlDataAdapter(SelectCmdText,conn);
Sda.Fill(Ds.cnc_corporation);
Sda.Dispose();
}
catch(Exception Ex)
{
throw Ex;
}
finally
{
if(conn.State!=System.Data.ConnectionState.Closed)
{
conn.Close();
}
}
}

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧