我的想法是这样,为了更好的使用连接池,我设计了计数,设定为50次,使用一次就自减一次。代码如下 int t = 0;
SqlCommand cmd;
SqlDataAdapter da;
DataSet ds;
string url, dbName, userID, pwd;
url = "**********";
dbName = "*******";
userID = "********";
pwd = "*********";
string ConnectionString = "Data Source=" + url + ";Network Library=DBMSSOCN;Initial Catalog=" + dbName + ";User ID=" + userID + ";Password=" + pwd + ";Pooling=true;Min Pool Size=0;Max Pool Size=50;Connect Timeout=180";
if (Class1.Count == 50)
{
Class1.Con = new SqlConnection(ConnectionString);
Class1.Con.Open();
cmd = new SqlCommand("select * from GMTools_Serverinfo ", Class1.Con);
da = new SqlDataAdapter(cmd);
ds = new DataSet();
da.Fill(ds);
Class1.Con.Close();
}
else
{
Class1.Con.Open();
cmd = new SqlCommand("select * from GMTools_Users", Class1.Con);
da = new SqlDataAdapter(cmd);
ds = new DataSet();
da.Fill(ds);
Class1.Con.Close();
public class Class1
{
public Class1()
{ }
private static int count = 51; public static int Count
{
get
{
if (count == 0)
count = 51;
return count--;
}
} private static SqlConnection con;
public static SqlConnection Con
{
get
{
return con;
}
set
{
con = value;
}
}
}
问题在于这个是否合理,如果不合理,请指出,还有一点就是调用count不是每次减一次,是减好几次,这是什么原因?
SqlCommand cmd;
SqlDataAdapter da;
DataSet ds;
string url, dbName, userID, pwd;
url = "**********";
dbName = "*******";
userID = "********";
pwd = "*********";
string ConnectionString = "Data Source=" + url + ";Network Library=DBMSSOCN;Initial Catalog=" + dbName + ";User ID=" + userID + ";Password=" + pwd + ";Pooling=true;Min Pool Size=0;Max Pool Size=50;Connect Timeout=180";
if (Class1.Count == 50)
{
Class1.Con = new SqlConnection(ConnectionString);
Class1.Con.Open();
cmd = new SqlCommand("select * from GMTools_Serverinfo ", Class1.Con);
da = new SqlDataAdapter(cmd);
ds = new DataSet();
da.Fill(ds);
Class1.Con.Close();
}
else
{
Class1.Con.Open();
cmd = new SqlCommand("select * from GMTools_Users", Class1.Con);
da = new SqlDataAdapter(cmd);
ds = new DataSet();
da.Fill(ds);
Class1.Con.Close();
public class Class1
{
public Class1()
{ }
private static int count = 51; public static int Count
{
get
{
if (count == 0)
count = 51;
return count--;
}
} private static SqlConnection con;
public static SqlConnection Con
{
get
{
return con;
}
set
{
con = value;
}
}
}
问题在于这个是否合理,如果不合理,请指出,还有一点就是调用count不是每次减一次,是减好几次,这是什么原因?
SQL Server Connection Pooling (ADO.NET)
http://msdn.microsoft.com/zh-cn/library/8xx3tyca.aspx
================
尝试连接了好几次吧,你可以设个断点跟踪一下