用get访问器设置sqlconnection好吗?需要关闭SqlConnection对象吗?如果需要那在程序的那里关闭回比较好一点.我认为应该在应用程序的销毁或者是说结束时关闭,但不知道具体在哪个类里实现...
代码事例:c#
private SqlConnection conn;
public static SqlConnection Conn
{
get
{
string connectionString =
"server=.\\sqlexpress;uid=sa;pwd=sa;database=pubs";
if(conn == null)
{
Sqlconnection conn = new SqlConnection(connectionString);
conn.open();
}
else if(conn.state == ConnectionState.close)
{
conn.open();
}
else if(conn.state == ConnectionState.brook)//brook单词可能打错了
{
conn.close();
conn.open();
}
return conn;
}
} //调用的事例
public bool loginUser()
{
SqlCommand cmd = new SqlCommand("sql语句",Conn);//Conn就是调用get访问 器
cmd.exec();//单词记不住了 }
代码事例:c#
private SqlConnection conn;
public static SqlConnection Conn
{
get
{
string connectionString =
"server=.\\sqlexpress;uid=sa;pwd=sa;database=pubs";
if(conn == null)
{
Sqlconnection conn = new SqlConnection(connectionString);
conn.open();
}
else if(conn.state == ConnectionState.close)
{
conn.open();
}
else if(conn.state == ConnectionState.brook)//brook单词可能打错了
{
conn.close();
conn.open();
}
return conn;
}
} //调用的事例
public bool loginUser()
{
SqlCommand cmd = new SqlCommand("sql语句",Conn);//Conn就是调用get访问 器
cmd.exec();//单词记不住了 }
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
/// <summary>
/// SQlData 的摘要说明
/// </summary>
public class SQlData
{
public SQlData()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
private static SQlData _instance; public static SQlData GetInstance()
{
if(_instance==null)
{
_instance = new SQlData();
}
return _instance;
}
public static SqlConnection ReturnConn()
{
string strConn = System.Configuration.ConfigurationManager.AppSettings["ConnectionString"];
SqlConnection Conn = new SqlConnection(strConn);
if (Conn.State.Equals(ConnectionState.Closed))
{
Conn.Open();
}
return Conn;
}
public static SqlCommand CreateCmd(string procName, SqlParameter[] prams, SqlConnection Conn)
{
SqlConnection SqlConn = Conn;
if (SqlConn.State.Equals(ConnectionState.Closed))
{
SqlConn.Open();
}
SqlCommand Cmd = new SqlCommand();
Cmd.CommandType = CommandType.StoredProcedure;
Cmd.Connection = SqlConn;
Cmd.CommandText = procName;
if (prams != null)
{
foreach (SqlParameter parameter in prams)
{
if (parameter != null)
{
Cmd.Parameters.Add(parameter);
}
}
}
return Cmd;
}
public static SqlCommand CreateCmd(string procName, SqlParameter[] prams)
{
SqlConnection Conn = ReturnConn();
SqlCommand Cmd = new SqlCommand();
Cmd.CommandType = CommandType.StoredProcedure;
Cmd.Connection = Conn;
Cmd.CommandText = procName;
if (prams != null)
{
foreach (SqlParameter parameter in prams)
{
if (parameter != null)
{
Cmd.Parameters.Add(parameter);
}
}
}
return Cmd;
}
public static SqlCommand CreateCmd(string procName,SqlConnection Conn)
{
SqlConnection SqlConn = Conn;
if (SqlConn.State.Equals(ConnectionState.Closed))
{
SqlConn.Open();
}
SqlCommand Cmd = new SqlCommand();
Cmd.CommandType = CommandType.StoredProcedure;
Cmd.Connection = SqlConn;
Cmd.CommandText = procName;
return Cmd;
}
public static SqlCommand CreateCmd(string procName)
{
SqlConnection Conn = ReturnConn();
SqlCommand Cmd = new SqlCommand();
Cmd.CommandType = CommandType.StoredProcedure;
Cmd.Connection = Conn;
Cmd.CommandText = procName;
return Cmd;
}
public static SqlDataReader RunProcGetReader(string procName, SqlParameter[] prams)
{
SqlCommand Cmd = CreateCmd(procName, prams);
SqlDataReader Dr = Cmd.ExecuteReader(CommandBehavior.CloseConnection);
return Dr;
}
public static SqlDataReader RunProcGetReader(string procName, SqlParameter[] prams, SqlConnection Conn)
{
SqlCommand Cmd = CreateCmd(procName, prams,Conn);
SqlDataReader Dr = Cmd.ExecuteReader(CommandBehavior.CloseConnection);
return Dr;
}
public static SqlDataReader RunProcGetReader(string procName, SqlConnection Conn)
{
SqlCommand Cmd = CreateCmd(procName,Conn);
SqlDataReader Dr = Cmd.ExecuteReader(CommandBehavior.CloseConnection);
return Dr;
}
public static SqlDataReader RunProcGetReader(string procName)
{
SqlCommand Cmd = CreateCmd(procName);
SqlDataReader Dr = Cmd.ExecuteReader(CommandBehavior.CloseConnection);
return Dr;
}
public static DataTable RunProcGetTable(string procName, SqlParameter[] prams, SqlConnection Conn)
{
SqlCommand Cmd = CreateCmd(procName, prams, Conn);
SqlDataAdapter Dtr = new SqlDataAdapter();
DataSet Ds = new DataSet();
Dtr.SelectCommand = Cmd;
Dtr.Fill(Ds);
DataTable Dt = Ds.Tables[0];
Conn.Close();
return Dt;
}
public static DataTable RunProcGetTable(string procName)
{
SqlConnection Conn = ReturnConn();
SqlCommand Cmd = CreateCmd(procName, Conn);
SqlDataAdapter Dtr = new SqlDataAdapter();
DataSet Ds = new DataSet();
Dtr.SelectCommand = Cmd;
Dtr.Fill(Ds);
DataTable Dt = Ds.Tables[0];
Conn.Close();
return Dt;
}
public static DataTable RunProcGetTable(string procName, SqlParameter[] prams)
{
SqlConnection Conn = ReturnConn();
SqlCommand Cmd = CreateCmd(procName,prams,Conn);
SqlDataAdapter Dtr = new SqlDataAdapter();
DataSet Ds = new DataSet();
Dtr.SelectCommand = Cmd;
Dtr.Fill(Ds);
DataTable Dt = Ds.Tables[0];
Conn.Close();
return Dt;
}
public static int RunExecute(string procName)
{
SqlConnection Conn = ReturnConn();
SqlCommand Cmd = CreateCmd(procName,Conn);
int intResult = Cmd.ExecuteNonQuery();
Conn.Close();
return intResult;
}
public static int RunExecute(string procName,SqlParameter[] prams)
{
SqlConnection Conn = ReturnConn();
SqlCommand Cmd = CreateCmd(procName,prams,Conn);
int intResult = Cmd.ExecuteNonQuery();
Conn.Close();
return intResult;
}
public void RunNonExecute(string procName, SqlParameter[] prams)
{
SqlConnection Conn = ReturnConn();
SqlCommand Cmd = CreateCmd(procName, prams, Conn);
Cmd.ExecuteNonQuery();
Conn.Close();
}
public void RunNonExecute(string procName)
{
SqlConnection Conn = ReturnConn();
SqlCommand Cmd = CreateCmd(procName,Conn);
Cmd.ExecuteNonQuery();
Conn.Close(); }
public static int RunExecuteScalar(string procName)
{
SqlConnection Conn = ReturnConn();
SqlCommand Cmd = CreateCmd(procName, Conn);
int intResult = Convert.ToInt32(Cmd.ExecuteScalar());
Conn.Close();
return intResult;
}
public static int RunExecuteScalar(string procName, SqlParameter[] prams)
{
SqlConnection Conn = ReturnConn();
SqlCommand Cmd = CreateCmd(procName, prams, Conn);
int intResult =Convert.ToInt32(Cmd.ExecuteScalar());
Conn.Close();
return intResult;
}
}