#region -----データベースアクセス共通関数-----
private static SqlConnection m_SqlConnection = null;
private static SqlCommand m_SqlCommand = null;
private static SqlTransaction m_SqlTransaction = null;
//-------------------------------------------
// DB_Init: DBアクセスの初期化
// 戻り値: 1 - 成功、 -1 - 失敗
//-------------------------------------------
public static int DB_Init(string strConnect)
{
if (m_SqlConnection == null)
{
m_SqlConnection = new SqlConnection(strConnect);
m_SqlConnection.Open();
m_SqlCommand = m_SqlConnection.CreateCommand();
// m_SqlCommand.Connection = m_SqlConnection; 多余
cmdTimeOut = m_SqlCommand.CommandTimeout;
}
return (1);
}
//-------------------------------------------
// DB_End: DBアクセスのリソース開放
// 戻り値: 1 - 成功、 -1 - 失敗
//-------------------------------------------
public static int DB_End()
{
if (m_SqlConnection == null) return (-1);
m_SqlCommand.Dispose();
m_SqlConnection.Close();
m_SqlConnection.Dispose();
m_SqlConnection = null;
m_SqlCommand = null;
m_SqlTransaction = null;
return (1);
}
//-------------------------------------------
// DB_BeginTran: トランザクションの開始
// 戻り値: 1 - 成功、 -1 - 失敗
//-------------------------------------------
public static int DB_BeginTran()
{
if (m_SqlTransaction != null) return (1);
if (m_SqlConnection == null) return (-1);
m_SqlTransaction = m_SqlConnection.BeginTransaction();
m_SqlCommand.Transaction = m_SqlTransaction;
return (1);
}
//-------------------------------------------
// DB_CommitTran: トランザクションのコミット
// 戻り値: 1 - 成功、 -1 - 失敗
//-------------------------------------------
public static int DB_CommitTran()
{
if (m_SqlTransaction == null) return (-1);
m_SqlTransaction.Commit();
m_SqlTransaction = null;
m_SqlCommand.Transaction = null;
return (1);
}
//-------------------------------------------
// DB_RollbackTran: トランザクションのロールバック
// 戻り値: 1 - 成功、 -1 - 失敗
//-------------------------------------------
public static int DB_RollbackTran()
{
if (m_SqlTransaction == null) return (-1);
m_SqlTransaction.Rollback();
m_SqlTransaction = null;
m_SqlCommand.Transaction = null;
return (1);
}
//-------------------------------------------
// DB_ExecuteStoredProcedure: ストアドの実行
// 戻り値: DataSet - 成功、 null - 失敗
//-------------------------------------------
public static DataSet DB_ExecuteStoredProcedure(string strStoredProcedureName)
{
//return (DB_ExecuteStoredProcedure(strStoredProcedureName, null));
return (DB_ExecuteStoredProcedure(strStoredProcedureName, -1, null));
}
public static DataSet DB_ExecuteStoredProcedure(string strStoredProcedureName, params SqlParameter[] aSqlParameter)
{
return (DB_ExecuteStoredProcedure(strStoredProcedureName, -1, aSqlParameter));
}
public static DataSet DB_ExecuteStoredProcedure(string strStoredProcedureName, int intTimeOut)
{
return (DB_ExecuteStoredProcedure(strStoredProcedureName, intTimeOut, null));
}
//public static DataSet DB_ExecuteStoredProcedure(string strStoredProcedureName, params SqlParameter[] aSqlParameter)
public static DataSet DB_ExecuteStoredProcedure(string strStoredProcedureName, int intTimeOut, params SqlParameter[] aSqlParameter)
{
if (m_SqlConnection == null) return (null);
DataSet dsOut = new DataSet();
m_SqlCommand.CommandText = strStoredProcedureName;
m_SqlCommand.CommandType = CommandType.StoredProcedure;
if (intTimeOut != -1)
{
m_SqlCommand.CommandTimeout = intTimeOut;
}
else
{
m_SqlCommand.CommandTimeout = cmdTimeOut;
}
//パラメータの設定
m_SqlCommand.Parameters.Clear();
if (aSqlParameter != null)
{
foreach (SqlParameter p in aSqlParameter)
{
if (p != null)
{
// 割り当てられないかどうかのチェック
if ((p.Direction == ParameterDirection.InputOutput || p.Direction == ParameterDirection.Input) && p.Value == null)
{
p.Value = DBNull.Value;
}
m_SqlCommand.Parameters.Add(p);
}
}
}
// Execute StoredProducure
SqlDataAdapter sdaOut = new SqlDataAdapter(m_SqlCommand);
sdaOut.Fill(dsOut);
return (dsOut);
}
#endregion