我在DBhelper里写的方法以及连接对象:
private static string connectionString = ConfigurationManager.ConnectionStrings["WanDu"].ConnectionString;
/// <summary>
/// 连接对象
/// </summary>
public static SqlConnection Connection
{
get
{
return new SqlConnection(connectionString);
}
}
方法:public static int GetScalar(string safeSql)
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
try
{
Connection.Open();
int result = Convert.ToInt32(cmd.ExecuteScalar());
return result;
}
finally
{
Connection.Close(); }
}
报错:ExecuteScalar 要求已打开且可用的连接。连接的当前状态为已关闭。
请教各位!!!
private static string connectionString = ConfigurationManager.ConnectionStrings["WanDu"].ConnectionString;
/// <summary>
/// 连接对象
/// </summary>
public static SqlConnection Connection
{
get
{
return new SqlConnection(connectionString);
}
}
方法:public static int GetScalar(string safeSql)
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
try
{
Connection.Open();
int result = Convert.ToInt32(cmd.ExecuteScalar());
return result;
}
finally
{
Connection.Close(); }
}
报错:ExecuteScalar 要求已打开且可用的连接。连接的当前状态为已关闭。
请教各位!!!
private static SqlCommand cmd = null;
private static SqlConnection GetConn()
{
string ConnStr = M_Common.Helper.ConfigHelper.GetconnMsSql.ToString();
cn = new SqlConnection(ConnStr);
if (cn.State != ConnectionState.Open)
{
cn.Open();
}
return cn;
}
public static int ExecuteScalar(string cmdtext, SqlParameter[] para, CommandType ct)
{
int value;
try
{
cmd = new SqlCommand(cmdtext, GetConn());
cmd.CommandType = ct;
cmd.Parameters.AddRange(para);
value = Convert.ToInt32(cmd.ExecuteScalar());
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (cn.State == ConnectionState.Open)
{
cn.Close();
}
}
return value;
}