Verwenden des Systems;
Verwenden von System.Configuration;
Verwenden von System.Data;
Verwenden von System.Data.SqlClient;
Verwenden von System.Collections;
Namespace MyCorporation.DepartMent.DataBase
{
/// <Zusammenfassung>
/// 通用数据库类
/// </summary>
Datenbank der öffentlichen Klasse
{
private Zeichenfolge ConnStr = null;
öffentliche Datenbank()
{
ConnStr = ConfigurationSettings.AppSettings["ConnStr"];
}
öffentliche Datenbank(string Str)
{
versuchen
{
this.ConnStr = Str;
}
Catch (Ausnahme ex)
{
ex werfen;
}
}
/// <Zusammenfassung>
/// 返回Verbindung对象
/// </summary>
/// <returns></returns>
öffentliche SqlConnection ReturnConn()
{
SqlConnection Conn = new SqlConnection(ConnStr);
Conn.Open();
return Conn;
}
public void Dispose(SqlConnection Conn)
{
if(Conn!=null)
{
Conn.Close();
Conn.Dispose();
}
GC.Collect();
}
/// <Zusammenfassung>
/// SQL-Fehlerbehebung
/// </summary>
/// <param name="SQL"></param>
public void RunProc(string SQL)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlCommand Cmd ;
Cmd = CreateCmd(SQL, Conn);
versuchen
{
Cmd.ExecuteNonQuery();
}
fangen
{
wirf eine neue Ausnahme (SQL);
}
Dispose(Conn);
zurückkehren;
}
/// <Zusammenfassung>
/// SQL-Fehlerbehebung: DataReader
/// </summary>
/// <param name="SQL"></param>
/// <returns>SqlDataReader-Fehler.</returns>
öffentlicher SqlDataReader RunProcGetReader(string SQL)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlCommand Cmd ;
Cmd = CreateCmd(SQL, Conn);
SqlDataReader Dr;
versuchen
{
Dr = Cmd.ExecuteReader(CommandBehavior.Default);
}
fangen
{
wirf eine neue Ausnahme (SQL);
}
//Dispose(Conn);
Rückkehr Dr.;
}
/// <Zusammenfassung>
/// 生成Command对象
/// </summary>
/// <param name="SQL"></param>
/// <param name="Conn"></param>
/// <returns></returns>
public SqlCommand CreateCmd(string SQL, SqlConnection Conn)
{
SqlCommand Cmd ;
Cmd = new SqlCommand(SQL, Conn);
return Cmd;
}
/// <Zusammenfassung>
/// 生成Command对象
/// </summary>
/// <param name="SQL"></param>
/// <returns></returns>
public SqlCommand CreateCmd(string SQL)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlCommand Cmd ;
Cmd = new SqlCommand(SQL, Conn);
return Cmd;
}
/// <Zusammenfassung>
/// 返回adapter对象
/// </summary>
/// <param name="SQL"></param>
/// <param name="Conn"></param>
/// <returns></returns>
öffentlicher SqlDataAdapter CreateDa(string SQL)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlDataAdapter Da;
Da = new SqlDataAdapter(SQL, Conn);
gib Da zurück;
}
/// <Zusammenfassung>
/// SQL-Datenbank, DataSet-Datenbank
/// </summary>
/// <param name="procName">SQL-Code</param>
/// <param name="prams">DataSet-Daten</param>
öffentliches DataSet RunProc(string SQL,DataSet Ds)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlDataAdapter Da;
//Da = CreateDa(SQL, Conn);
Da = new SqlDataAdapter(SQL,Conn);
versuchen
{
Da.Fill(Ds);
}
Catch(Exception Err)
{
wirf Err;
}
Dispose(Conn);
Rückkehr Ds;
}
/// <Zusammenfassung>
/// SQL-Datenbank, DataSet-Datenbank
/// </summary>
/// <param name="procName">SQL-Code</param>
/// <param name="prams">DataSet-Daten</param>
/// <param name="dataReader">Anzeige</param>
öffentliches DataSet RunProc(String SQL, DataSet Ds, String Tabellenname)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlDataAdapter Da;
Da = CreateDa(SQL);
versuchen
{
Da.Fill(Ds,tablename);
}
Catch (Ausnahme Ex)
{
werfen Ex;
}
Dispose(Conn);
Rückkehr Ds;
}
/// <Zusammenfassung>
/// SQL-Datenbank, DataSet-Datenbank
/// </summary>
/// <param name="procName">SQL-Code</param>
/// <param name="prams">DataSet-Daten</param>
/// <param name="dataReader">Anzeige</param>
public DataSet RunProc(string SQL, DataSet Ds,int StartIndex,int PageSize, string tablename)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlDataAdapter Da ;
Da = CreateDa(SQL);
versuchen
{
Da.Fill(Ds, StartIndex, PageSize, Tabellenname);
}
Catch (Ausnahme Ex)
{
werfen Ex;
}
Dispose(Conn);
Rückkehr Ds;
}
/// <Zusammenfassung>
/// 检验是否存在数据
/// </summary>
/// <returns></returns>
public bool ExistDate(string SQL)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlDataReader Dr ;
Dr = CreateCmd(SQL,Conn).ExecuteReader();
if (Dr.Read())
{
Dispose(Conn);
return true;
}
anders
{
Dispose(Conn);
return false;
}
}
/// <Zusammenfassung>
/// 返回SQL语句执行结果的第一行第一列
/// </summary>
/// <returns>字符串</returns>
öffentlicher String ReturnValue(String SQL)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
String-Ergebnis;
SqlDataReader Dr ;
versuchen
{
Dr = CreateCmd(SQL,Conn).ExecuteReader();
if (Dr.Read())
{
result = Dr[0].ToString();
Dr.Close();
}
anders
{
result = "";
Dr.Close();
}
}
fangen
{
wirf eine neue Ausnahme (SQL);
}
Dispose(Conn);
Ergebnis zurückgeben;
}
/// <Zusammenfassung>
/// 返回SQL语句第一列,第ColumnI列,
/// </summary>
/// <returns>字符串</returns>
öffentlicher String ReturnValue(string SQL, int ColumnI)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
String-Ergebnis;
SqlDataReader Dr ;
versuchen
{
Dr = CreateCmd(SQL,Conn).ExecuteReader();
}
fangen
{
wirf eine neue Ausnahme (SQL);
}
if (Dr.Read())
{
result = Dr[ColumnI].ToString();
}
anders
{
result = "";
}
Dr.Close();
Dispose(Conn);
Ergebnis zurückgeben;
}
/// <Zusammenfassung>
/// 生成一个存储过程使用的sqlcommand.
/// </summary>
/// <param name="procName">存储过程名.</param>
/// <param name="prams">存储过程入参数组.</param>
/// <returns>sqlcommand-Befehl.</returns>
public SqlCommand CreateCmd(string procName, SqlParameter[] prams)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlCommand Cmd = new SqlCommand(procName, Conn);
Cmd.CommandType = CommandType.StoredProcedure;
if (Kinderwagen != null)
{
foreach (SqlParameter-Parameter in Kinderwagen)
{
if(Parameter != null)
{
Cmd.Parameters.Add(parameter);
}
}
}
return Cmd;
}
/// <Zusammenfassung>
/// 为存储过程生成一个个SqlCommand对象
/// </summary>
/// <param name="procName">存储过程名</param>
/// <param name="prams">存储过程参数</param>
/// <returns>SqlCommand-Befehl</returns>
private SqlCommand CreateCmd(string procName, SqlParameter[] prams,SqlDataReader Dr)
{
SqlConnection Conn;
Conn = new SqlConnection(ConnStr);
Conn.Open();
SqlCommand Cmd = new SqlCommand(procName, Conn);
Cmd.CommandType = CommandType.StoredProcedure;
if (Kinderwagen != null)
{
foreach (SqlParameter-Parameter in Kinderwagen)
Cmd.Parameters.Add(parameter);
}
Cmd.Parameters.Add(
new SqlParameter("ReturnValue", SqlDbType.Int, 4,
ParameterDirection.ReturnValue, false, 0, 0,
string.Empty, DataRowVersion.Default, null));
return Cmd;
}
/// <Zusammenfassung>
/// 运行存储过程,返回.
/// </summary>
/// <param name="procName">存储过程名</param>
/// <param name="prams">存储过程参数</param>
/// <param name="dataReader">SqlDataReader-Funktion</param>
public void RunProc(string procName, SqlParameter[] prams, SqlDataReader Dr)
{
SqlCommand Cmd = CreateCmd(procName, prams, Dr);
Dr = Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
zurückkehren;
}
/// <Zusammenfassung>
/// 运行存储过程,返回.
/// </summary>
/// <param name="procName">存储过程名</param>
/// <param name="prams">存储过程参数</param>
öffentliche Zeichenfolge RunProc(string procName, SqlParameter[] prams)
{
SqlDataReader Dr;
SqlCommand Cmd = CreateCmd(procName, prams);
Dr = Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
if(Dr.Read())
{
return Dr.GetValue(0).ToString();
}
anders
{
zurückkehren "";
}
}
/// <Zusammenfassung>
/// 运行存储过程,返回dataset.
/// </summary>
/// <param name="procName">存储过程名.</param>
/// <param name="prams">存储过程入参数组.</param>
/// <returns>dataset对象.</returns>
public DataSet RunProc(string procName,SqlParameter[] prams,DataSet Ds)
{
SqlCommand Cmd = CreateCmd(procName,prams);
SqlDataAdapter Da = new SqlDataAdapter(Cmd);
versuchen
{
Da.Fill(Ds);
}
Catch (Ausnahme Ex)
{
werfen Ex;
}
Rückkehr Ds;
}
}
}