using
System.Data;
using
System.Data.SqlClient;
namespace
Dal
{
///<summary>
///
数据处理类。
///</summary>
public class DataClass
{
public static SqlConnection con = new SqlConnection();
private static SqlCommand cmd = new SqlCommand();
public DataClass(string conStr)
{
con.ConnectionString = conStr;
}
///<summary>
///
打开数据库连接。
///</summary>
public void OpenConnection()
{
if(con.State!=ConnectionState.Open)
{
con.Open();
}
}
///<summary>
///
关闭与数据库的连接。
///</summary>
public void CloseConnection()
{
con.Close();
}
private static void PrepareCommand(string procName,SqlTransaction trans,SqlParameter[] parms)
{
cmd.Connection = con;
cmd.CommandText = procName;
if(trans != null)
cmd.Transaction = trans;
cmd.CommandType = CommandType.StoredProcedure;
if(parms!=null)
{
foreach (SqlParameter parm in parms)
cmd.Parameters.Add(parm);
}
}
#region
执行查询,并返回查询所返回的结果集中第一行的第一列,忽略额外的列或行,ExecuteScalar。
///<summary>
///
执行查询,并返回查询所返回的结果集中第一行的第一列,忽略额外的列或行。
///</summary>
///<param name="procName">
存储过程
</param>
///<param name="parms">SqlParameter
数组
</param>
///<returns>ExecuteScalar</returns>
public object cmdExecScalarProc(string procName,SqlParameter[] parms)
{
object obj = new object();
PrepareCommand(procName,null,parms);
OpenConnection();
obj = cmd.ExecuteScalar();
CloseConnection();
cmd.Parameters.Clear();
return obj;
}
///<summary>
///
执行查询,并返回查询所返回的结果集中第一行的第一列,忽略额外的列或行。
///</summary>
///<param name="procName">
存储过程
</param>
///<param name="parms">SqlParameter
数组
</param>
///<param name="trans">SQL Server
数据库中处理的 Transact-SQL 事务
</param>
///<returns>ExecuteScalar</returns>
public object cmdExecScalarProc(string procName,SqlParameter[] parms,SqlTransaction trans)
{
object obj = new object();
PrepareCommand(procName,trans,parms);
OpenConnection();
obj = cmd.ExecuteScalar();
CloseConnection();
cmd.Parameters.Clear();
return obj;
}
#endregion
#region
对连接执行 Transact-SQL 语句,ExecuteNonQuery。
///<summary>
///
对连接执行 Transact-SQL 语句。
///</summary>
///<param name="procName">
存储过程
</param>
///<param name="parms">SqlParameter
数组
</param>
public void cmdExecNonQueryProc(string procName,SqlParameter[] parms)
{
PrepareCommand(procName,null,parms);
OpenConnection();
cmd.ExecuteNonQuery();
CloseConnection();
cmd.Parameters.Clear();
}
///<summary>
///
对连接执行 Transact-SQL 语句。
///</summary>
///<param name="procName">
存储过程
</param>
///<param name="parms">SqlParameter
数组
</param>
///<param name="trans">SQL Server
数据库中处理的 Transact-SQL 事务
</param>
public void cmdExecNonQueryProc(string procName,SqlParameter[] parms,SqlTransaction trans)
{
PrepareCommand(procName,trans,parms);
OpenConnection();
cmd.ExecuteNonQuery();
CloseConnection();
cmd.Parameters.Clear();
}
#endregion
#region
返回SqlDataReader。
///<summary>
///
返回SqlDataReader,在使用后请关闭本对象,同时将自动调用CloseConnection()来关闭数据库连接。
///</summary>
///<param name="procName">
存储过程
</param>
///<param name="parms">SqlParameter
数组
</param>
///<returns>SqlDataReader
对象
</returns>
public SqlDataReader DataReader(string procName)
{
SqlDataReader dr = null;
PrepareCommand(procName,null,null);
OpenConnection();
dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return dr ;
}
///<summary>
///
返回SqlDataReader,在使用后请关闭本对象,同时将自动调用CloseConnection()来关闭数据库连接。
///</summary>
///<param name="procName">
存储过程
</param>
///<param name="parms">SqlParameter
数组
</param>
///<returns>SqlDataReader
对象
</returns>
public SqlDataReader DataReader(string procName,SqlParameter[] parms)
{
SqlDataReader dr = null;
PrepareCommand(procName,null,parms);
OpenConnection();
dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
cmd.Parameters.Clear();
return dr ;
}
///<summary>
///
返回SqlDataReader,在使用后请关闭本对象,同时将自动调用CloseConnection()来关闭数据库连接。
///</summary>
///<param name="procName">
存储过程
</param>
///<param name="trans">SQL Server
数据库中处理的 Transact-SQL 事务
</param>
///<returns>SqlDataReader
对象
</returns>
public SqlDataReader DataReader(string procName,SqlTransaction trans)
{
SqlDataReader dr = null;
PrepareCommand(procName,trans,null);
OpenConnection();
dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return dr ;
}
///<summary>
///
返回SqlDataReader,在使用后请关闭本对象,同时将自动调用CloseConnection()来关闭数据库连接。
///</summary>
///<param name="procName">
存储过程
</param>
///<param name="parms">SqlParameter
数组
</param>
///<param name="trans">SQL Server
数据库中处理的 Transact-SQL 事务
</param>
///<returns>SqlDataReader
对象
</returns>
public SqlDataReader DataReader(string procName,SqlParameter[] parms,SqlTransaction trans)
{
SqlDataReader dr = null;
PrepareCommand(procName,trans,parms);
OpenConnection();
dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
cmd.Parameters.Clear();
return dr ;
}
#endregion
#region
返回内存数据中的一个表,DataTable。
///<summary>
///
返回内存数据中的一个表。
///</summary>
///<param name="procName">
存储过程
</param>
///<returns>DataTable</returns>
public DataTable dt(string procName)
{
SqlDataAdapter da = new SqlDataAdapter(procName,con);
da.SelectCommand.CommandType = CommandType.StoredProcedure;
DataTable dt = new DataTable();
da.Fill(dt);
return dt;
}
///<summary>
///
返回内存数据中的一个表。
///</summary>
///<param name="procName">
存储过程
</param>
///<param name="parms">SqlParameter
数组
</param>
///<returns>DataTable</returns>
public DataTable dt(string procName,SqlParameter[] parms)
{
SqlDataAdapter da = new SqlDataAdapter(procName,con);
da.SelectCommand.CommandType = CommandType.StoredProcedure;
DataTable dt = new DataTable();
for(int i = 0;i < parms.Length;i++)
{
da.SelectCommand.Parameters.Add(parms[i]);
}
da.Fill(dt);
cmd.Parameters.Clear();
return dt;
}
#endregion
}
}
本文不断更新中……
本文不断更新中……