usando Sistema;
usando System.Configuration;
usando System.Data;
usando System.Data.SqlClient;
usando System.Collections;
espacio de nombres MyCorporation.DepartMent.DataBase
{
/// <resumen>
/// 通用数据库类
/// </summary>
base de datos de clase pública
{
cadena privada ConnStr = nulo;
base de datos pública()
{
ConnStr = ConfigurationSettings.AppSettings["ConnStr"];
}
Base de datos pública (cadena Str)
{
intentar
{
this.ConnStr = Cadena;
}
captura (Excepción ex)
{
tirar ex;
}
}
/// <resumen>
/// 返回conexión对象
/// </summary>
/// <devoluciones></devoluciones>
conexión Sql pública ReturnConn()
{
Conexión SqlConnection = nueva Conexión Sql (ConnStr);
Conexión.Abrir();
devolver conexión;
}
eliminación pública vacía (conexión SqlConnection)
{
si(Conexión!=nulo)
{
Conexión.Cerrar();
Conexión.Dispose();
}
GC.Recoger();
}
/// <resumen>
/// 运行SQL语句
/// </summary>
/// <param nombre="SQL"></param>
RunProc público vacío (cadena SQL)
{
Conexión SqlConnection;
Conexión = nueva SqlConnection(ConnStr);
Conexión.Abrir();
Comando SqlCommand;
Cmd = CreateCmd(SQL, Conexión);
intentar
{
Cmd.ExecuteNonQuery();
}
atrapar
{
lanzar una nueva excepción (SQL);
}
Disponer(Conn);
devolver;
}
/// <resumen>
/// 运行SQL语句返回DataReader
/// </summary>
/// <param nombre="SQL"></param>
/// <returns>SqlDataReader对象.</returns>
público SqlDataReader RunProcGetReader (cadena SQL)
{
Conexión SqlConnection;
Conexión = nueva SqlConnection(ConnStr);
Conexión.Abrir();
Comando SqlCommand;
Cmd = CreateCmd(SQL, Conexión);
SqlDataReader Dr;
intentar
{
Dr = Cmd.ExecuteReader(CommandBehavior.Default);
}
atrapar
{
lanzar una nueva excepción (SQL);
}
//Dispose(Conn);
regresar Dr;
}
/// <resumen>
/// 生成Comando对象
/// </summary>
/// <param nombre="SQL"></param>
/// <param nombre="Conn"></param>
/// <devoluciones></devoluciones>
SqlCommand público CreateCmd (cadena SQL, conexión SqlConnection)
{
Comando SqlCommand;
Cmd = nuevo SqlCommand(SQL, Conexión);
comando de retorno;
}
/// <resumen>
/// 生成Comando对象
/// </summary>
/// <param nombre="SQL"></param>
/// <devoluciones></devoluciones>
SqlCommand público CreateCmd (cadena SQL)
{
Conexión SqlConnection;
Conexión = nueva SqlConnection(ConnStr);
Conexión.Abrir();
Comando SqlCommand;
Cmd = nuevo SqlCommand(SQL, Conexión);
comando de retorno;
}
/// <resumen>
/// 返回adaptador对象
/// </summary>
/// <param nombre="SQL"></param>
/// <param nombre="Conn"></param>
/// <devoluciones></devoluciones>
SqlDataAdapter público CreateDa (cadena SQL)
{
Conexión SqlConnection;
Conexión = nueva SqlConnection(ConnStr);
Conexión.Abrir();
SqlDataAdapter Da;
Da = nuevo SqlDataAdapter(SQL, Conn);
volver Da;
}
/// <resumen>
/// 运行SQL语句,返回DataSet对象
/// </summary>
/// <param name="procName">SQL语句</param>
/// <param name="cochecitos">DataSet对象</param>
conjunto de datos público RunProc (cadena SQL, conjunto de datos Ds)
{
Conexión SqlConnection;
Conexión = nueva SqlConnection(ConnStr);
Conexión.Abrir();
SqlDataAdapter Da;
//Da = CreateDa(SQL, Conn);
Da = nuevo SqlDataAdapter(SQL,Conn);
intentar
{
Da.Relleno(Ds);
}
captura (Error de excepción)
{
tirar Errar;
}
Disponer(Conn);
devolver D;
}
/// <resumen>
/// 运行SQL语句,返回DataSet对象
/// </summary>
/// <param name="procName">SQL语句</param>
/// <param name="cochecitos">DataSet对象</param>
/// <param name="dataReader">表名</param>
conjunto de datos público RunProc (cadena SQL, conjunto de datos Ds, nombre de tabla de cadena)
{
Conexión SqlConnection;
Conexión = nueva SqlConnection(ConnStr);
Conexión.Abrir();
SqlDataAdapter Da;
Da = CrearDa(SQL);
intentar
{
Da.Fill(Ds,nombre de tabla);
}
captura (Excepción Ex)
{
tirar Ex;
}
Disponer(Conn);
devolver D;
}
/// <resumen>
/// 运行SQL语句,返回DataSet对象
/// </summary>
/// <param name="procName">SQL语句</param>
/// <param name="cochecitos">DataSet对象</param>
/// <param name="dataReader">表名</param>
conjunto de datos público RunProc (cadena SQL, conjunto de datos Ds, int StartIndex, int PageSize, cadena nombre de tabla)
{
Conexión SqlConnection;
Conexión = nueva SqlConnection(ConnStr);
Conexión.Abrir();
SqlDataAdapter Da ;
Da = CrearDa(SQL);
intentar
{
Da.Fill(Ds, StartIndex, PageSize, nombre de tabla);
}
captura (Excepción Ex)
{
tirar Ex;
}
Disponer(Conn);
devolver D;
}
/// <resumen>
/// 检验是否存在数据
/// </summary>
/// <devoluciones></devoluciones>
bool público ExistDate (cadena SQL)
{
Conexión SqlConnection;
Conexión = nueva SqlConnection(ConnStr);
Conexión.Abrir();
SqlDataReader Dr;
Dr = CreateCmd(SQL,Conn).ExecuteReader();
si (Dr.Read())
{
Disponer(Conn);
devolver verdadero;
}
demás
{
Disponer(Conn);
devolver falso;
}
}
/// <resumen>
/// 返回SQL语句执行结果的第一行第一列
/// </summary>
/// <returns>字符串</returns>
cadena pública ReturnValue (cadena SQL)
{
Conexión SqlConnection;
Conexión = nueva SqlConnection(ConnStr);
Conexión.Abrir();
resultado de cadena;
SqlDataReader Dr;
intentar
{
Dr = CreateCmd(SQL,Conn).ExecuteReader();
si (Dr.Read())
{
resultado = Dr[0].ToString();
Dr.Cerrar();
}
demás
{
resultado = "";
Dr.Cerrar();
}
}
atrapar
{
lanzar una nueva excepción (SQL);
}
Disponer(Conn);
resultado de devolución;
}
/// <resumen>
/// 返回SQL语句第一列,第ColumnI列,
/// </summary>
/// <returns>字符串</returns>
cadena pública ReturnValue (cadena SQL, int ColumnI)
{
Conexión SqlConnection;
Conexión = nueva SqlConnection(ConnStr);
Conexión.Abrir();
resultado de cadena;
SqlDataReader Dr;
intentar
{
Dr = CreateCmd(SQL,Conn).ExecuteReader();
}
atrapar
{
lanzar una nueva excepción (SQL);
}
si (Dr.Read())
{
resultado = Dr[ColumnaI].ToString();
}
demás
{
resultado = "";
}
Dr.Cerrar();
Disponer(Conn);
resultado de devolución;
}
/// <resumen>
/// 生成一个存储过程使用的sqlcommand.
/// </summary>
/// <param name="procName">存储过程名.</param>
/// <param name="cochecitos">存储过程入参数组.</param>
/// <returns>sqlcommand对象.</returns>
public SqlCommand CreateCmd(cadena procName, SqlParameter[] cochecitos)
{
Conexión SqlConnection;
Conexión = nueva SqlConnection(ConnStr);
Conexión.Abrir();
SqlCommand Cmd = nuevo SqlCommand(procName, Conn);
Cmd.CommandType = CommandType.StoredProcedure;
if (cochecitos! = nulo)
{
foreach (parámetro SqlParameter en cochecitos)
{
si (parámetro! = nulo)
{
Cmd.Parameters.Add(parámetro);
}
}
}
comando de retorno;
}
/// <resumen>
/// 为存储过程生成一个SqlCommand对象
/// </summary>
/// <param name="procName">存储过程名</param>
/// <param name="cochecitos">存储过程参数</param>
/// <returns>SqlCommand对象</returns>
SqlCommand privado CreateCmd (cadena procName, SqlParameter [] cochecitos, SqlDataReader Dr)
{
Conexión SqlConnection;
Conexión = nueva SqlConnection(ConnStr);
Conexión.Abierto();
SqlCommand Cmd = nuevo SqlCommand(procName, Conn);
Cmd.CommandType = CommandType.StoredProcedure;
if (cochecitos! = nulo)
{
foreach (parámetro SqlParameter en cochecitos)
Cmd.Parameters.Add(parámetro);
}
Cmd.Parámetros.Agregar(
nuevo SqlParameter("ReturnValue", SqlDbType.Int, 4,
ParameterDirection.ReturnValue, falso, 0, 0,
string.Empty, DataRowVersion.Default, nulo));
comando de retorno;
}
/// <resumen>
/// 运行存储过程,返回.
/// </summary>
/// <param name="procName">存储过程名</param>
/// <param name="cochecitos">存储过程参数</param>
/// <param name="dataReader">SqlDataReader对象</param>
public void RunProc(cadena procName, SqlParameter[] cochecitos, SqlDataReader Dr)
{
SqlCommand Cmd = CreateCmd(procName, cochecitos, Dr);
Dr = Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
devolver;
}
/// <resumen>
/// 运行存储过程,返回.
/// </summary>
/// <param name="procName">存储过程名</param>
/// <param name="cochecitos">存储过程参数</param>
cadena pública RunProc(cadena procName, SqlParameter[] cochecitos)
{
SqlDataReader Dr;
SqlCommand Cmd = CreateCmd(procName, cochecitos);
Dr = Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
si(Dr.Read())
{
devolver Dr.GetValue(0).ToString();
}
demás
{
devolver "";
}
}
/// <resumen>
/// 运行存储过程,返回conjunto de datos.
/// </summary>
/// <param name="procName">存储过程名.</param>
/// <param name="cochecitos">存储过程入参数组.</param>
/// <returns>conjunto de datos.</returns>
conjunto de datos público RunProc (cadena procName, SqlParameter [] cochecitos, DataSet Ds)
{
SqlCommand Cmd = CreateCmd(procName,cochecitos);
SqlDataAdapter Da = nuevo SqlDataAdapter(Cmd);
intentar
{
Da.Relleno(Ds);
}
captura (Excepción Ex)
{
tirar Ex;
}
devolver D;
}
}
}