关于SQLHELPER.CS多线程问题
我做了一个网站,里面的SQLHELPER.CS是做成的静态函数基本都是用static修饰的(因为看了微软的SQLHELPER.CS里面都是做成静态函数)列如:
private static SqlConnection conn = null; //创建数据库连接对象
private static SqlCommand cmd = null; //创建命令对象
private static SqlDataReader sdr = null; //创建SQLDATAREADER对象
里面的变量都是STATIC,函数也都用了static修饰,列如:
/// <summary>
/// 打开数据库连接
/// </summary>
/// <returns></returns>
private static SqlConnection GetConn()
{
string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
conn = new SqlConnection(connStr);
if (conn.State != ConnectionState.Open)
{
conn.Open();
}
return conn;
}
/// <summary>
/// 执行不带参数的增删改SQL语句或存储过程
/// </summary>
/// <param name="cmdText">增删改SQL语句或存储过程</param>
/// <param name="ct">命令类型</param>
/// <returns></returns>
public static int ExecuteNonQuery(string cmdText, CommandType ct)
{
int res;
using (cmd = new SqlCommand(cmdText, GetConn()))
{
cmd.CommandType = ct;
res = cmd.ExecuteNonQuery();
}
return res;
}
,我就想问
1:这个类里面的所有变量函数都用static修饰,是所有用户同时共享一个类的意思吗?
2:如果1的回答是共享一个SQLHELPER.CS类,那么多个用户同时访问数据库会照成static变量