public static string my_sql = "", my_tabale = "", my_field = "", my_data="";
public static SqlConnection my_con;
public static string m_str_sqlcon = "Data Source=127.0.0.1;Database=em;User id=sa;PWD=''";
#endregion
public static SqlConnection getcon()
{
my_con = new SqlConnection(m_str_sqlcon);
my_con.Open();
return my_con;
}
public void con_close()
{
if (my_con.State == ConnectionState.Open)
{
my_con.Close();
my_con.Dispose();
}
}
public SqlDataReader getcom(string sqlstr)
{
SqlCommand my_com = my_con.CreateCommand();
my_com.CommandText = sqlstr;
SqlDataReader my_read = my_com.ExecuteReader();
return my_read;
}//只读方式打开数据库
public void getsqlcom(string sqlstr)
{
SqlCommand sqlcom = new SqlCommand(sqlstr, my_con);
sqlcom.ExecuteNonQuery();
sqlcom.Dispose();
}//对数据库执行添加删除操作
public DataSet getdataset(string sqlstr, string tablename)
{
SqlDataAdapter sqlda = new SqlDataAdapter(sqlstr, my_con);
DataSet my_data = new DataSet();
my_data.Clear();
sqlda.Fill(my_data, tablename);
return my_data;
}
}
}
多线程调用访问数据库的时候,提示访问的连接已关闭,大家指点啊,应该怎么做?用数据库连接池还是队列?应该怎么改啊?
------解决思路----------------------
如果你是多个人同时进银行排队,那么真正到窗口的时候,要么是一个一个去,要么是分别同时去不同的窗口,不能俩人一起到一个窗口办理不同的业务,人家忙不过来
------解决思路----------------------
原来的这个底层物理才能高速地共享 --> 原来的这个底层物理连接才能高速地共享
如果你要自己开发什么连接池,你应该使用没有连接池机制的更底层的类库上去开发。不应该去多余地用 SqlConnection。