using System;
using System.Data;
using System.Data.SqlClient;
using System.Collections;

namespace Xhduan.DBLayer


{

/**//// <summary>
/// Summary description for DB.
/// </summary>
public class DB

{
public DB()

{
//缺点:没有错误处理
}


Global Variables#region Global Variables
public static string ConnectionString=connStr.getConnStr();
public static SqlConnection Connection=new SqlConnection(ConnectionString);
#endregion


Global Methods#region Global Methods
public static DataSet Execute(string Sql)

{
SqlCommand Command=new SqlCommand(Sql,Connection);
DataSet ds=new DataSet();
SqlDataAdapter adapter=new SqlDataAdapter(Command);
adapter.Fill(ds);
Connection.Close();
return ds;
}
public static DataSet Execute(SqlCommand Command)

{
DataSet ds=new DataSet();
SqlDataAdapter adapter=new SqlDataAdapter(Command);
adapter.Fill(ds);
Connection.Close();
return ds;
}
public static SqlDataReader ExecuteReader(string Sql)

{
SqlCommand Command=new SqlCommand(Sql,Connection);
Connection.Open();
return Command.ExecuteReader(CommandBehavior.CloseConnection);
}
public static SqlDataAdapter getAdapter(string sql)

{
SqlCommand Command=new SqlCommand(sql,Connection);
DataSet ds=new DataSet();
SqlDataAdapter adapter=new SqlDataAdapter(Command);
return adapter;
}
public static SqlDataAdapter getAdapter(SqlCommand Command)

{
DataSet ds=new DataSet();
SqlDataAdapter adapter=new SqlDataAdapter(Command);
return adapter;
}
public static SqlDataReader ExecuteReader(SqlCommand Command)

{
Command.Connection.Open();
return Command.ExecuteReader(CommandBehavior.CloseConnection);
}
public static object ExecuteScalar(string Sql)

{
SqlCommand Command=new SqlCommand(Sql,Connection);
object result=null;
try

{
Connection.Open();
result=Command.ExecuteScalar();
}
catch(Exception ex)

{
throw ex;
}
finally

{
Connection.Close();
}
return result;
}
public static int ExecuteNonQuery(string Sql)

{
SqlCommand Command=new SqlCommand(Sql,Connection);
int result=-1;
try

{
Connection.Open();
result=Command.ExecuteNonQuery();
}
catch(Exception ex)

{
throw ex;
}
finally

{
Connection.Close();
}
return result;
}
public static int ExecuteNonQuery(SqlCommand Command)

{
int result=-1;
try

{
Command.Connection.Open();
result=Command.ExecuteNonQuery();
}
catch(Exception ex)

{
throw ex;
}
finally

{
Command.Connection.Close();
}
return result;
}
public static DataSet ExecuteStoredProcedure(string SPName,ref ArrayList Parameters)

{
DataSet dsResult=new DataSet();
SqlCommand Command=new SqlCommand(SPName,Connection);
Command.CommandType=CommandType.StoredProcedure;
if(Parameters!=null)

{
for(int i=0;i<Parameters.Count;i++)

{
Command.Parameters.Add( Parameters[i]);
}
}
try

{
SqlDataAdapter adapter=new SqlDataAdapter(Command);
adapter.Fill(dsResult);
}
catch(Exception ex)

{
throw ex;
}
return dsResult;
}

public static SqlDataReader ExecuteStoredProcedureReader(string SPName,ref ArrayList Parameters)

{
SqlCommand cmd=new SqlCommand();
cmd.Connection=Connection;
cmd.CommandText=SPName;
cmd.CommandType=CommandType.StoredProcedure;
if(Parameters!=null)

{
for(int i=0;i<Parameters.Count;i++)

{
cmd.Parameters.Add( Parameters[i]);
}
}
Connection.Open();
return cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
public static bool ExecuteTransaction(string []Sql)

{
ArrayList CommandList=new ArrayList(0);
Connection.Open();
SqlTransaction Transaction=Connection.BeginTransaction(IsolationLevel.Serializable,"Transaction");
for(int i=0;i<Sql.Length;i++)

{
SqlCommand TransactionCommand=new SqlCommand(Sql[i],Connection,Transaction);
try

{
TransactionCommand.ExecuteNonQuery();
CommandList.Add(TransactionCommand);
}
catch(Exception ex)

{
Connection.Close();
throw ex;
}
}
Transaction.Commit();
Connection.Close();
return true;
}
#endregion
}
}

转载于:https://www.cnblogs.com/dxxhh/archive/2006/01/12/315683.html