/// <summary>バッチ処理を実行する</summary> /// <param name="parameter">引数クラス</param> private void UOC_ExecuteBatchProcess(ExecuteBatchProcessParameterValue parameter) { // 戻り値クラスを生成して、事前に戻り値に設定しておく。 this.ReturnValue = new VoidReturnValue(); // ↓業務処理----------------------------------------------------- ArrayList pkList = parameter.SubPkList; //主キー一覧(1トランザクション分) DataTable dataTable = new DataTable(); //データ一覧(主キーを元に検索したデータ) //Ordersテーブルからデータを検索する // ↓DBアクセス----------------------------------------------------- // 共通Daoを生成 CmnDao cmnDao = new CmnDao(this.GetDam()); // 動的SQLを指定 cmnDao.SQLFileName = "SelectInOrderID.xml"; // パラメータを設定 cmnDao.SetParameter("OrderID", pkList); // 共通Daoを実行 cmnDao.ExecSelectFill_DT(dataTable); // ↑DBアクセス----------------------------------------------------- //Orders2テーブルに複数件まとめて追加する。 StringBuilder sb = new StringBuilder(); for (int index = 0; index < dataTable.Rows.Count; index++) { DataRow row = dataTable.Rows[index]; //1件分のデータ //todo:編集処理など // ↓DBアクセス----------------------------------------------------- // 自動生成Daoを生成 DaoOrders2 dao = new DaoOrders2(this.GetDam()); // パラメータを設定 dao.PK_OrderID = row["OrderID"]; dao.CustomerID = row["CustomerID"]; dao.EmployeeID = row["EmployeeID"]; dao.OrderDate = row["OrderDate"]; dao.RequiredDate = row["RequiredDate"]; dao.ShippedDate = row["ShippedDate"]; dao.ShipVia = row["ShipVia"]; dao.Freight = row["Freight"]; dao.ShipName = row["ShipName"]; dao.ShipAddress = row["ShipAddress"]; dao.ShipCity = row["ShipCity"]; dao.ShipRegion = row["ShipRegion"]; dao.ShipPostalCode = row["ShipPostalCode"]; dao.ShipCountry = row["ShipCountry"]; // 自動生成Daoを実行 sb.Append(dao.ExecGenerateSQL( "DaoOrders2_S1_Insert.sql", new SQLUtility(DbEnum.DBMSType.SQLServer)) + ";\r\n"); // ↑DBアクセス----------------------------------------------------- } // 共通Daoでバッチ更新 CmnDao cd = new CmnDao(this.GetDam()); cd.SQLText = sb.ToString(); cd.ExecInsUpDel_NonQuery(); // todo:中間コミット情報をDBに登録 ※最終処理主キー値の登録など // ↑業務処理----------------------------------------------------- }
/// <summary>バッチ処理を実行する</summary> /// <param name="parameter">引数クラス</param> private void UOC_ExecuteBatchProcess(ExecuteBatchProcessParameterValue parameter) { // 戻り値クラスを生成して、事前に戻り値に設定しておく。 this.ReturnValue = new VoidReturnValue(); // ↓業務処理----------------------------------------------------- ArrayList pkList = parameter.SubPkList; //主キー一覧(1トランザクション分) DataTable dataTable = new DataTable(); //データ一覧(主キーを元に検索したデータ) //Ordersテーブルからデータを検索する // ↓DBアクセス----------------------------------------------------- // 共通Daoを生成 CmnDao cmnDao = new CmnDao(this.GetDam()); // 動的SQLを指定 cmnDao.SQLFileName = "SelectInOrderID.xml"; // パラメータを設定 cmnDao.SetParameter("OrderID", pkList); // 共通Daoを実行 cmnDao.ExecSelectFill_DT(dataTable); // ↑DBアクセス----------------------------------------------------- //Orders2テーブルに1件ずつ追加する for (int index = 0; index < dataTable.Rows.Count; index++) { DataRow row = dataTable.Rows[index]; //1件分のデータ //todo:編集処理など // ↓DBアクセス----------------------------------------------------- // 自動生成Daoを生成 DaoOrders2 dao = new DaoOrders2(this.GetDam()); // パラメータを設定 dao.PK_OrderID = row["OrderID"]; dao.CustomerID = row["CustomerID"]; dao.EmployeeID = row["EmployeeID"]; dao.OrderDate = row["OrderDate"]; dao.RequiredDate = row["RequiredDate"]; dao.ShippedDate = row["ShippedDate"]; dao.ShipVia = row["ShipVia"]; dao.Freight = row["Freight"]; dao.ShipName = row["ShipName"]; dao.ShipAddress = row["ShipAddress"]; dao.ShipCity = row["ShipCity"]; dao.ShipRegion = row["ShipRegion"]; dao.ShipPostalCode = row["ShipPostalCode"]; dao.ShipCountry = row["ShipCountry"]; // 共通Daoを実行 dao.S1_Insert(); // ↑DBアクセス----------------------------------------------------- } // todo:中間コミット情報をDBに登録 ※最終処理主キー値の登録など // ↑業務処理----------------------------------------------------- }