menggunakan Sistem;
menggunakan Sistem.Konfigurasi;
menggunakan Sistem.Data;
menggunakan Sistem.Data.SqlClient;
menggunakan Sistem.Koleksi;
namespace MyCorporation.DepartMent.DataBase
{
/// <ringkasan>
/// 通用数据库类
/// </ringkasan>
Basis Data kelas publik
{
string pribadi ConnStr = null;
Basis Data publik()
{
ConnStr = ConfigurationSettings.AppSettings["ConnStr"];
}
Basis Data publik (string Str)
{
mencoba
{
ini.ConnStr = Str;
}
menangkap (Pengecualian ex)
{
membuang mantan;
}
}
/// <ringkasan>
/// 返回koneksi对象
/// </ringkasan>
/// <pengembalian></pengembalian>
SqlConnection publik ReturnConn()
{
SqlConnection Conn = SqlConnection baru (ConnStr);
Sambungan.Buka();
kembalikan Sambung;
}
kekosongan publik Buang (SqlConnection Conn)
{
if(Sambung!=batal)
{
Sambungan.Tutup();
Sambungan.Buang();
}
GC.Kumpulkan();
}
/// <ringkasan>
/// 运行SQL语句
/// </ringkasan>
/// <param nama="SQL"></param>
kekosongan publik RunProc (string SQL)
{
Sambungan SqlConnection;
Sambungan = SqlConnection baru(ConnStr);
Sambungan.Buka();
SqlCommand Cmd;
Cmd = BuatCmd(SQL, Sambungan);
mencoba
{
Cmd.ExecuteNonQuery();
}
menangkap
{
melempar Pengecualian baru (SQL);
}
Buang(Sambung);
kembali;
}
/// <ringkasan>
/// pada SQL, DataReader
/// </ringkasan>
/// <param nama="SQL"></param>
/// <returns>SqlDataReader对象.</returns>
SqlDataReader publik RunProcGetReader (string SQL)
{
Sambungan SqlConnection;
Sambungan = SqlConnection baru(ConnStr);
Sambungan.Buka();
SqlCommand Cmd;
Cmd = BuatCmd(SQL, Sambungan);
SqlDataReader Dr;
mencoba
{
Dr = Cmd.ExecuteReader(CommandBehavior.Default);
}
menangkap
{
melempar Pengecualian baru (SQL);
}
//Buang(Sambungan);
kembalikan Dr;
}
/// <ringkasan>
/// 生成Command对象
/// </ringkasan>
/// <param nama="SQL"></param>
/// <param nama="Sambung"></param>
/// <pengembalian></pengembalian>
SqlCommand publik CreateCmd(string SQL, SqlConnection Conn)
{
SqlCommand Cmd;
Cmd = new SqlCommand(SQL, Conn);
kembalikan Cmd;
}
/// <ringkasan>
/// 生成Command对象
/// </ringkasan>
/// <param nama="SQL"></param>
/// <pengembalian></pengembalian>
SqlCommand publik CreateCmd(string SQL)
{
Sambungan SqlConnection;
Sambungan = SqlConnection baru(ConnStr);
Sambungan.Buka();
SqlCommand Cmd;
Cmd = new SqlCommand(SQL, Conn);
kembalikan Cmd;
}
/// <ringkasan>
/// 返回adaptor对象
/// </ringkasan>
/// <param nama="SQL"></param>
/// <param nama="Sambung"></param>
/// <pengembalian></pengembalian>
SqlDataAdapter publik CreateDa (string SQL)
{
Sambungan SqlConnection;
Sambungan = SqlConnection baru(ConnStr);
Sambungan.Buka();
SqlDataAdapter Da;
Da = new SqlDataAdapter(SQL, Sambungan);
kembali Da;
}
/// <ringkasan>
/// pada SQL, DataSet, dan DataSet
/// </ringkasan>
/// <param name="procName">SQL语句</param>
/// <param name="prams">DataSet对象</param>
RunProc DataSet publik (string SQL, DataSet Ds)
{
Sambungan SqlConnection;
Sambungan = SqlConnection baru(ConnStr);
Sambungan.Buka();
SqlDataAdapter Da;
//Da = CreateDa(SQL, Sambungan);
Da = new SqlDataAdapter(SQL,Conn);
mencoba
{
Da.Isi(Ds);
}
menangkap (Err Pengecualian)
{
lempar Err;
}
Buang(Sambung);
kembalikan D;
}
/// <ringkasan>
/// pada SQL, DataSet, dan DataSet
/// </ringkasan>
/// <param name="procName">SQL语句</param>
/// <param name="prams">DataSet对象</param>
/// <param name="dataReader">表名</param>
RunProc DataSet publik (string SQL, DataSet Ds, nama tabel string)
{
Sambungan SqlConnection;
Sambungan = SqlConnection baru(ConnStr);
Sambungan.Buka();
SqlDataAdapter Da;
Da = BuatDa(SQL);
mencoba
{
Da.Fill(Ds,namatabel);
}
menangkap (Pengecualian Ex)
{
lempar Mantan;
}
Buang(Sambung);
kembalikan D;
}
/// <ringkasan>
/// pada SQL, DataSet, dan DataSet
/// </ringkasan>
/// <param name="procName">SQL语句</param>
/// <param name="prams">DataSet对象</param>
/// <param name="dataReader">表名</param>
RunProc DataSet publik (string SQL, DataSet Ds, int StartIndex, int PageSize, nama tabel string)
{
Sambungan SqlConnection;
Sambungan = SqlConnection baru(ConnStr);
Sambungan.Buka();
SqlDataAdapter Da;
Da = BuatDa(SQL);
mencoba
{
Da.Fill(Ds, StartIndex, PageSize, nama tabel);
}
menangkap (Pengecualian Ex)
{
melempar Mantan;
}
Buang(Sambung);
kembalikan D;
}
/// <ringkasan>
/// 检验是否存在数据
/// </ringkasan>
/// <pengembalian></pengembalian>
bool publik ExistDate (string SQL)
{
Sambungan SqlConnection;
Sambungan = SqlConnection baru(ConnStr);
Sambungan.Buka();
SqlDataReader Dr;
Dr = BuatCmd(SQL,Conn).ExecuteReader();
jika (Dr.Baca())
{
Buang(Sambung);
kembali benar;
}
kalau tidak
{
Buang(Sambung);
kembali salah;
}
}
/// <ringkasan>
/// 返回SQL语句执行结果的第一行第一列
/// </ringkasan>
/// <returns>字符串</returns>
string publik ReturnValue (string SQL)
{
Sambungan SqlConnection;
Sambungan = SqlConnection baru(ConnStr);
Sambungan.Buka();
hasil string;
SqlDataReader Dr;
mencoba
{
Dr = BuatCmd(SQL,Conn).ExecuteReader();
jika (Dr.Baca())
{
hasil = Dr[0].ToString();
Dr.Tutup();
}
kalau tidak
{
hasil = "";
Dr.Tutup();
}
}
menangkap
{
melempar Pengecualian baru (SQL);
}
Buang(Sambung);
hasil pengembalian;
}
/// <ringkasan>
/// 返回SQL语句第一列,第ColumnI列,
/// </ringkasan>
/// <returns>字符串</returns>
string publik Nilai Pengembalian (string SQL, int KolomI)
{
Sambungan SqlConnection;
Sambungan = SqlConnection baru(ConnStr);
Sambungan.Buka();
hasil string;
SqlDataReader Dr;
mencoba
{
Dr = BuatCmd(SQL,Conn).ExecuteReader();
}
menangkap
{
melempar Pengecualian baru (SQL);
}
jika (Dr.Baca())
{
hasil = Dr[KolomI].ToString();
}
kalau tidak
{
hasil = "";
}
Dr.Tutup();
Buang(Sambung);
hasil pengembalian;
}
/// <ringkasan>
/// perintah sql.
/// </ringkasan>
/// <param name="procName">存储过程名.</param>
/// <param name="kereta bayi">存储过程入参数组.</param>
/// <returns>perintah sql对象.</returns>
publik SqlCommand CreateCmd(string procName, SqlParameter[] kereta bayi)
{
Sambungan SqlConnection;
Sambungan = SqlConnection baru(ConnStr);
Sambungan.Buka();
SqlCommand Cmd = new SqlCommand(procName, Conn);
Cmd.CommandType = CommandType.StoredProcedure;
jika (kereta bayi!= null)
{
foreach (parameter SqlParameter di kereta bayi)
{
jika(parameter != nol)
{
Cmd.Parameter.Tambahkan(parameter);
}
}
}
kembalikan Cmd;
}
/// <ringkasan>
/// 为存储过程生成一个SqlCommand对象
/// </ringkasan>
/// <param name="procName">存储过程名</param>
/// <param name="prams">存储过程参数</param>
/// <returns>SqlCommand对象</returns>
pribadi SqlCommand CreateCmd(string procName, SqlParameter[] kereta bayi,SqlDataReader Dr)
{
Sambungan SqlConnection;
Sambungan = SqlConnection baru(ConnStr);
Sambungan.Buka();
SqlCommand Cmd = new SqlCommand(procName, Conn);
Cmd.CommandType = CommandType.StoredProcedure;
jika (kereta bayi!= null)
{
foreach (parameter SqlParameter di kereta bayi)
Cmd.Parameter.Tambahkan(parameter);
}
Cmd.Parameter.Tambahkan(
SqlParameter baru("Nilai Pengembalian", SqlDbType.Int, 4,
ParameterDirection.ReturnValue, salah, 0, 0,
string.Kosong, DataRowVersion.Default, null));
kembalikan Cmd;
}
/// <ringkasan>
/// 运行存储过程,返回.
/// </ringkasan>
/// <param name="procName">存储过程名</param>
/// <param name="prams">存储过程参数</param>
/// <param name="dataReader">SqlDataReader对象</param>
public void RunProc(string procName, SqlParameter[] kereta dorong bayi, SqlDataReader Dr)
{
SqlCommand Cmd = CreateCmd(procName, kereta bayi, Dr);
Dr = Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
kembali;
}
/// <ringkasan>
/// 运行存储过程,返回.
/// </ringkasan>
/// <param name="procName">存储过程名</param>
/// <param name="prams">存储过程参数</param>
string publik RunProc(string procName, SqlParameter[] kereta bayi)
{
SqlDataReader Dr;
SqlCommand Cmd = CreateCmd(procName, kereta bayi);
Dr = Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
jika(Dr.Baca())
{
kembalikan Dr.GetValue(0).ToString();
}
kalau tidak
{
kembali "";
}
}
/// <ringkasan>
/// 运行存储过程,dataset.
/// </ringkasan>
/// <param name="procName">存储过程名.</param>
/// <param name="kereta bayi">存储过程入参数组.</param>
/// <returns>dataset对象.</returns>
RunProc DataSet publik(string procName,SqlParameter[] kereta dorong bayi,DataSet Ds)
{
SqlCommand Cmd = BuatCmd(procName,kereta bayi);
SqlDataAdapter Da = baru SqlDataAdapter(Cmd);
mencoba
{
Da.Isi(Ds);
}
menangkap (Pengecualian Ex)
{
lempar Mantan;
}
kembalikan D;
}
}
}