использование системы;
использование System.Configuration;
использование System.Data;
использование System.Data.SqlClient;
использование System.Collections;
пространство имен MyCorporation.DepartMent.DataBase
{
/// <сводка>
/// 通用数据库类
/// </сводка>
база данных общедоступного класса
{
частная строка ConnStr = null;
общедоступная база данных()
{
ConnStr = ConfigurationSettings.AppSettings["ConnStr"];
}
общедоступная база данных (строка Str)
{
пытаться
{
this.ConnStr = Str;
}
поймать (исключение ex)
{
бросить бывшего;
}
}
/// <сводка>
/// 返回connection对象
/// </сводка>
/// <возвращается></возвращается>
общедоступный SqlConnection ReturnConn()
{
SqlConnection Conn = новый SqlConnection(ConnStr);
Соединение.Открыть();
вернуть Конн;
}
общественная недействительность Dispose (SqlConnection Conn)
{
если (Конн! = ноль)
{
Соединение.Закрыть();
Подключить.Dispose();
}
GC.Собрать();
}
/// <сводка>
/// Язык SQL
/// </сводка>
/// <param name="SQL"></param>
public void RunProc (строка SQL)
{
подключение SqlConnection;
Conn = новый SqlConnection(ConnStr);
Соединение.Открыть();
SqlCommand Cmd ;
Cmd = CreateCmd(SQL, Conn);
пытаться
{
Cmd.ExecuteNonQuery();
}
ловить
{
выдать новое исключение (SQL);
}
Удалить (Конн);
возвращаться;
}
/// <сводка>
/// Доступ к SQL для чтения данных DataReader
/// </сводка>
/// <param name="SQL"></param>
/// <returns>SqlDataReader.</returns>
общедоступный SqlDataReader RunProcGetReader (строка SQL)
{
подключение SqlConnection;
Conn = новый SqlConnection(ConnStr);
Соединение.Открыть();
SqlCommand Cmd ;
Cmd = CreateCmd(SQL, Conn);
SqlDataReader Доктор;
пытаться
{
Dr = Cmd.ExecuteReader(CommandBehavior.Default);
}
ловить
{
выдать новое исключение (SQL);
}
//Удалить(Конн);
вернуть доктора;
}
/// <сводка>
/// 生成Command对象
/// </сводка>
/// <param name="SQL"></param>
/// <param name="Conn"></param>
/// <возвращается></возвращается>
public SqlCommand CreateCmd (строка SQL, SqlConnection Conn)
{
SqlCommand Cmd ;
Cmd = новый SqlCommand (SQL, Conn);
вернуть команду;
}
/// <сводка>
/// 生成Command对象
/// </сводка>
/// <param name="SQL"></param>
/// <возвращается></возвращается>
общедоступная SqlCommand CreateCmd (строка SQL)
{
подключение SqlConnection;
Conn = новый SqlConnection(ConnStr);
Соединение.Открыть();
SqlCommand Cmd ;
Cmd = новый SqlCommand (SQL, Conn);
вернуть команду;
}
/// <сводка>
/// 返回адаптер对象
/// </сводка>
/// <param name="SQL"></param>
/// <param name="Conn"></param>
/// <возвращается></возвращается>
общедоступный SqlDataAdapter CreateDa (строка SQL)
{
подключение SqlConnection;
Conn = новый SqlConnection(ConnStr);
Соединение.Открыть();
SqlDataAdapter Да;
Da = новый SqlDataAdapter (SQL, Conn);
вернуть Да;
}
/// <сводка>
/// Доступ к SQL, доступ к DataSet
/// </сводка>
/// <param name="procName">Описание SQL</param>
/// <param name="prams">DataSet对象</param>
общедоступный DataSet RunProc (строка SQL, DataSet Ds)
{
подключение SqlConnection;
Conn = новый SqlConnection(ConnStr);
Соединение.Открыть();
SqlDataAdapter Да;
//Да = CreateDa(SQL, Conn);
Da = новый SqlDataAdapter(SQL,Conn);
пытаться
{
Да.Заполнить(Дс);
}
поймать (ошибка исключения)
{
бросить Эрра;
}
Удалить (Конн);
вернуть Ds;
}
/// <сводка>
/// Доступ к SQL, доступ к DataSet
/// </сводка>
/// <param name="procName">Описание SQL</param>
/// <param name="prams">DataSet对象</param>
/// <param name="dataReader">表名</param>
public DataSet RunProc (строка SQL, DataSet Ds, строковое имя таблицы)
{
подключение SqlConnection;
Conn = новый SqlConnection(ConnStr);
Соединение.Открыть();
SqlDataAdapter Да;
Да = CreateDa(SQL);
пытаться
{
Da.Fill(Ds,имя таблицы);
}
поймать (Исключение Ex)
{
бросить Экс;
}
Удалить (Конн);
вернуть Ds;
}
/// <сводка>
/// Доступ к SQL, доступ к DataSet
/// </сводка>
/// <param name="procName">Описание SQL</param>
/// <param name="prams">DataSet对象</param>
/// <param name="dataReader">表名</param>
public DataSet RunProc (строка SQL, DataSet Ds, int StartIndex, int PageSize, строка имя таблицы)
{
подключение SqlConnection;
Conn = новый SqlConnection(ConnStr);
Соединение.Открыть();
SqlDataAdapter Da;
Да = CreateDa(SQL);
пытаться
{
Da.Fill(Ds, StartIndex, PageSize, имя таблицы);
}
поймать (Исключение Ex)
{
бросить Экс;
}
Удалить (Конн);
вернуть Ds;
}
/// <сводка>
/// 检验是否存在数据
/// </сводка>
/// <возвращается></возвращается>
public bool ExistDate (строка SQL)
{
подключение SqlConnection;
Conn = новый SqlConnection(ConnStr);
Конн.Открыть();
SqlDataReader Доктор;
Dr = CreateCmd(SQL,Conn).ExecuteReader();
если (ДокторЧтение())
{
Удалить (Конн);
вернуть истину;
}
еще
{
Удалить (Конн);
вернуть ложь;
}
}
/// <сводка>
/// 返回SQL语句执行结果的第一行第一列
/// </сводка>
/// <returns>字符串</returns>
общедоступная строка ReturnValue (строка SQL)
{
подключение SqlConnection;
Conn = новый SqlConnection(ConnStr);
Соединение.Открыть();
строковый результат;
SqlDataReader Доктор;
пытаться
{
Dr = CreateCmd(SQL,Conn).ExecuteReader();
если (ДокторЧтение())
{
результат = Dr[0].ToString();
ДокторЗакрыть();
}
еще
{
результат = "";
ДокторЗакрыть();
}
}
ловить
{
выдать новое исключение (SQL);
}
Удалить (Конн);
вернуть результат;
}
/// <сводка>
/// 返回SQL 语句第一列,第ColumnI列,
/// </сводка>
/// <returns>字符串</returns>
общедоступная строка ReturnValue (строка SQL, int ColumnI)
{
подключение SqlConnection;
Conn = новый SqlConnection(ConnStr);
Соединение.Открыть();
строковый результат;
SqlDataReader Доктор;
пытаться
{
Dr = CreateCmd(SQL,Conn).ExecuteReader();
}
ловить
{
выдать новое исключение (SQL);
}
если (ДокторЧтение())
{
результат = Dr[ColumnI].ToString();
}
еще
{
результат = "";
}
ДокторЗакрыть();
Удалить (Конн);
вернуть результат;
}
/// <сводка>
/// Команда sqlcommand.
/// </сводка>
/// <param name="procName">存储过程名.</param>
/// <param name="prams">存储过程入参数组.</param>
/// <returns>sqlcommand对象.</returns>
public SqlCommand CreateCmd (строка procName, SqlParameter [] prams)
{
подключение SqlConnection;
Conn = новый SqlConnection(ConnStr);
Конн.Открыть();
SqlCommand Cmd = новый SqlCommand (procName, Conn);
Cmd.ТипКоманды = ТипКоманды.СохраненнаяПроцедура;
если (коляски != ноль)
{
foreach (параметр SqlParameter в колясках)
{
если (параметр! = ноль)
{
Cmd.Параметры.Добавить(параметр);
}
}
}
вернуть команду;
}
/// <сводка>
/// 为存储过程生成一个SqlCommand对象
/// </сводка>
/// <param name="procName">存储过程名</param>
/// <param name="prams">存储过程参数</param>
/// <returns>SqlCommand</returns>
Private SqlCommand CreateCmd (строка procName, SqlParameter [] prams, SqlDataReader Dr)
{
подключение SqlConnection;
Conn = новый SqlConnection(ConnStr);
Конн.Открыть();
SqlCommand Cmd = новый SqlCommand (procName, Conn);
Cmd.ТипКоманды = ТипКоманды.СохраненнаяПроцедура;
если (коляски != ноль)
{
foreach (параметр SqlParameter в колясках)
Cmd.Параметры.Добавить(параметр);
}
Cmd.Параметры.Добавить(
новый SqlParameter("ReturnValue", SqlDbType.Int, 4,
ПараметрДиректион.ReturnValue, ложь, 0, 0,
string.Empty, DataRowVersion.Default, null));
вернуть команду;
}
/// <сводка>
/// 运行存储过程,返回.
/// </сводка>
/// <param name="procName">存储过程名</param>
/// <param name="prams">存储过程参数</param>
/// <param name="dataReader">SqlDataReader对象</param>
public void 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);
если (Доктор Читать ())
{
вернуть Dr.GetValue(0).ToString();
}
еще
{
возвращаться "";
}
}
/// <сводка>
/// 运行存储过程, 返回dataset.
/// </сводка>
/// <param name="procName">存储过程名.</param>
/// <param name="prams">存储过程入参数组.</param>
/// <returns>набор данных.</returns>
public DataSet RunProc (строка procName, SqlParameter [] prams, DataSet Ds)
{
SqlCommand Cmd = CreateCmd(procName,prams);
SqlDataAdapter Da = новый SqlDataAdapter (Cmd);
пытаться
{
Да.Заполнить(Дс);
}
поймать (Исключение Ex)
{
бросить Экс;
}
вернуть Ds;
}
}
}