使用系统;
使用系统配置;
使用系统数据;
使用 System.Data.SqlClient;
使用系统集合;
命名空间 MyCorporation.DepartMent.DataBase
{
/// <摘要>
/// 通用数据库类
/// </摘要>
公共类数据库
{
私有字符串 ConnStr = null;
公共数据库()
{
ConnStr = ConfigurationSettings.AppSettings["ConnStr"];
}
公共数据库(字符串Str)
{
尝试
{
this.ConnStr = Str;
}
捕获(异常前)
{
扔前;
}
}
/// <摘要>
/// 返回连接对象
/// </摘要>
/// <返回></返回>
公共 SqlConnection ReturnConn()
{
SqlConnection Conn = new SqlConnection(ConnStr);
康恩.Open();
返回康涅狄格州;
}
公共无效处理(SqlConnection Conn)
{
如果(康恩!=空)
{
Conn.Close();
Conn.Dispose();
}
GC.Collect();
}
/// <摘要>
/// 运行SQL语句
/// </摘要>
/// <参数名称=“SQL”></参数>
公共无效RunProc(字符串SQL)
{
SqlConnection 康涅狄格州;
Conn = 新的 SqlConnection(ConnStr);
康恩.Open();
SqlCommand Cmd ;
Cmd = CreateCmd(SQL, Conn);
尝试
{
Cmd.ExecuteNonQuery();
}
抓住
{
抛出新的异常(SQL);
}
处置(康涅狄格州);
返回;
}
/// <摘要>
/// 运行SQL语句返回DataReader
/// </摘要>
/// <参数名称=“SQL”></参数>
/// <returns>SqlDataReader对象.</returns>
公共 SqlDataReader RunProcGetReader(字符串 SQL)
{
SqlConnection 康涅狄格州;
Conn = 新的 SqlConnection(ConnStr);
康恩.Open();
SqlCommand Cmd ;
Cmd = CreateCmd(SQL, Conn);
SqlDataReader 博士;
尝试
{
Dr = Cmd.ExecuteReader(CommandBehavior.Default);
}
抓住
{
抛出新的异常(SQL);
}
//处置(Conn);
返回博士;
}
/// <摘要>
/// 生成Command对象
/// </摘要>
/// <参数名称=“SQL”></参数>
/// <参数名称=“Conn”></参数>
/// <返回></返回>
公共SqlCommand CreateCmd(字符串SQL,SqlConnection Conn)
{
SqlCommand Cmd ;
Cmd = new SqlCommand(SQL, Conn);
返回命令;
}
/// <摘要>
/// 生成Command对象
/// </摘要>
/// <参数名称=“SQL”></参数>
/// <返回></返回>
公共SqlCommand CreateCmd(字符串SQL)
{
SqlConnection 康涅狄格州;
Conn = 新的 SqlConnection(ConnStr);
康恩.Open();
SqlCommand Cmd ;
Cmd = new SqlCommand(SQL, Conn);
返回命令;
}
/// <摘要>
/// 返回适配器对象
/// </摘要>
/// <参数名称=“SQL”></参数>
/// <参数名称=“Conn”></参数>
/// <返回></返回>
公共SqlDataAdapter CreateDa(字符串SQL)
{
SqlConnection 康涅狄格州;
Conn = 新的 SqlConnection(ConnStr);
康恩.Open();
SqlDataAdapter Da;
Da = new SqlDataAdapter(SQL, Conn);
返回达;
}
/// <摘要>
/// 运行SQL语句,返回DataSet对象
/// </摘要>
/// <param name="procName">SQL语句</param>
/// <param name="prams">DataSet 对象</param>
公共数据集RunProc(字符串SQL,数据集Ds)
{
SqlConnection 康涅狄格州;
Conn = 新的 SqlConnection(ConnStr);
康恩.Open();
SqlDataAdapter Da;
//Da = CreateDa(SQL, Conn);
Da = new SqlDataAdapter(SQL,Conn);
尝试
{
Da.Fill(Ds);
}
捕获(异常错误)
{
抛出错误;
}
处置(康涅狄格州);
返回D;
}
/// <摘要>
/// 运行SQL语句,返回DataSet对象
/// </摘要>
/// <param name="procName">SQL语句</param>
/// <param name="prams">DataSet 对象</param>
/// <param name="dataReader">表名</param>
公共数据集RunProc(字符串SQL,数据集Ds,字符串表名)
{
SqlConnection 康涅狄格州;
Conn = 新的 SqlConnection(ConnStr);
康恩.Open();
SqlDataAdapter Da;
Da = CreateDa(SQL);
尝试
{
Da.Fill(Ds,表名);
}
捕获(异常Ex)
{
抛出Ex;
}
处置(康涅狄格州);
返回D;
}
/// <摘要>
/// 运行SQL语句,返回DataSet对象
/// </摘要>
/// <param name="procName">SQL语句</param>
/// <param name="prams">DataSet 对象</param>
/// <param name="dataReader">表名</param>
公共DataSet RunProc(字符串SQL,数据集Ds,int StartIndex,int PageSize,字符串表名)
{
SqlConnection 康涅狄格州;
Conn = 新的 SqlConnection(ConnStr);
康恩.Open();
SqlDataAdapter Da ;
Da = CreateDa(SQL);
尝试
{
Da.Fill(Ds, StartIndex, PageSize, 表名);
}
捕获(异常Ex)
{
抛出Ex;
}
处置(康涅狄格州);
返回D;
}
/// <摘要>
/// 检验是否存在数据
/// </摘要>
/// <返回></返回>
公共 bool ExistDate(字符串 SQL)
{
SqlConnection 康涅狄格州;
Conn = 新的 SqlConnection(ConnStr);
康恩.Open();
SqlDataReader 博士;
Dr = CreateCmd(SQL,Conn).ExecuteReader();
if (Dr.Read())
{
处置(康涅狄格州);
返回真;
}
别的
{
处置(康涅狄格州);
返回假;
}
}
/// <摘要>
/// 返回SQL语句执行结果的第一行第一列
/// </摘要>
/// <returns>字符串</returns>
公共字符串ReturnValue(字符串SQL)
{
SqlConnection 康涅狄格州;
Conn = 新的 SqlConnection(ConnStr);
康恩.Open();
字符串结果;
SqlDataReader 博士;
尝试
{
Dr = CreateCmd(SQL,Conn).ExecuteReader();
if (Dr.Read())
{
结果 = Dr[0].ToString();
Dr.Close();
}
别的
{
结果=“”;
Dr.Close();
}
}
抓住
{
抛出新的异常(SQL);
}
处置(康涅狄格州);
返回结果;
}
/// <摘要>
/// 返回SQL语句第一列,第I列,
/// </摘要>
/// <returns>字符串</returns>
公共字符串ReturnValue(字符串SQL,int ColumnI)
{
SqlConnection 康涅狄格州;
Conn = 新的 SqlConnection(ConnStr);
康恩.Open();
字符串结果;
SqlDataReader 博士;
尝试
{
Dr = CreateCmd(SQL,Conn).ExecuteReader();
}
抓住
{
抛出新的异常(SQL);
}
if (Dr.Read())
{
结果 = Dr[ColumnI].ToString();
}
别的
{
结果=“”;
}
Dr.Close();
处置(康涅狄格州);
返回结果;
}
/// <摘要>
/// 使用sql命令生成一个过程存储。
/// </摘要>
/// <param name="procName">存储过程名.</param>
/// <param name="prams">存储过程进入参数组。</param>
/// <returns>sqlcommand 对象.</returns>
公共 SqlCommand CreateCmd(字符串 procName, SqlParameter[] prams)
{
SqlConnection 康涅狄格州;
Conn = 新的 SqlConnection(ConnStr);
康恩.Open();
SqlCommand Cmd = new SqlCommand(procName, Conn);
Cmd.CommandType = CommandType.StoredProcedure;
if (婴儿车!= null)
{
foreach(prams 中的 SqlParameter 参数)
{
if(参数!= null)
{
Cmd.Parameters.Add(参数);
}
}
}
返回命令;
}
/// <摘要>
/// 为存储过程生成一个SqlCommand对象
/// </摘要>
/// <param name="procName">存储过程名</param>
/// <param name="prams">存储过程参数</param>
/// <returns>SqlCommand对象</returns>
私人SqlCommand CreateCmd(字符串procName,SqlParameter [] prams,SqlDataReader Dr)
{
SqlConnection 康涅狄格州;
Conn = 新的 SqlConnection(ConnStr);
康恩.Open();
SqlCommand Cmd = new SqlCommand(procName, Conn);
Cmd.CommandType = CommandType.StoredProcedure;
if (婴儿车!= null)
{
foreach(prams 中的 SqlParameter 参数)
Cmd.Parameters.Add(参数);
}
Cmd.参数.Add(
新的 SqlParameter("ReturnValue", SqlDbType.Int, 4,
ParameterDirection.ReturnValue, false, 0, 0,
string.Empty, DataRowVersion.Default, null));
返回命令;
}
/// <摘要>
/// 运行存储过程,返回。
/// </摘要>
/// <param name="procName">存储过程名</param>
/// <param name="prams">存储过程参数</param>
/// <param name="dataReader">SqlDataReader对象</param>
公共无效RunProc(字符串procName,SqlParameter [] prams,SqlDataReader Dr)
{
SqlCommand Cmd = CreateCmd(procName, prams, Dr);
Dr = Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
返回;
}
/// <摘要>
/// 运行存储过程,返回。
/// </摘要>
/// <param name="procName">存储过程名</param>
/// <param name="prams">存储过程参数</param>
公共字符串 RunProc(字符串 procName, SqlParameter[] prams)
{
SqlDataReader 博士;
SqlCommand Cmd = CreateCmd(procName, prams);
Dr = Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
if(Dr.Read())
{
返回 Dr.GetValue(0).ToString();
}
别的
{
返回 ””;
}
}
/// <摘要>
/// 运行存储过程,返回dataset.
/// </摘要>
/// <param name="procName">存储过程名.</param>
/// <param name="prams">存储过程进入参数组。</param>
/// <returns>数据集对象.</returns>
公共数据集 RunProc(字符串 procName,SqlParameter[] prams,数据集 Ds)
{
SqlCommand Cmd = CreateCmd(procName,prams);
SqlDataAdapter Da = new SqlDataAdapter(Cmd);
尝试
{
Da.Fill(Ds);
}
捕获(异常Ex)
{
抛出Ex;
}
返回D;
}
}
}