/// <summary>業務処理を実装</summary> /// <param name="muParameter">汎用引数クラス</param> private void UOC_Insert(MuParameterValue muParameter) { // 戻り値クラスを生成して、事前に戻り地に設定しておく。 MuReturnValue muReturn = new MuReturnValue(); this.ReturnValue = muReturn; // ↓業務処理----------------------------------------------------- string companyName = ((string[])(muParameter.Bean))[0]; string phone = ((string[])(muParameter.Bean))[1]; switch ((muParameter.ActionType.Split('%'))[1]) { case "common": // 共通Daoを使用する。 // 共通Daoを生成 CmnDao cmnDao = new CmnDao(this.GetDam()); cmnDao.SQLFileName = "ShipperInsert.sql"; // パラメタ ライズド クエリのパラメタに対して、動的に値を設定する。 cmnDao.SetParameter("P2", companyName); cmnDao.SetParameter("P3", phone); // 共通Daoを実行 // 戻り値を設定 muReturn.Bean = cmnDao.ExecInsUpDel_NonQuery().ToString(); break; case "generate": // 自動生成Daoを使用する。 // 自動生成Daoを生成 DaoShippers genDao = new DaoShippers(this.GetDam()); // パラメタに対して、動的に値を設定する。 genDao.CompanyName = companyName; genDao.Phone = phone; // 自動生成Daoを実行 // 戻り値を設定 muReturn.Bean = genDao.D1_Insert().ToString(); break; default: // 個別Daoを使用する。 string ret = ""; LayerD myDao = new LayerD(this.GetDam()); myDao.Insert(muParameter.ActionType, companyName, phone, out ret); muReturn.Bean = ret; break; } // ↑業務処理----------------------------------------------------- // ロールバックのテスト this.TestRollback(muParameter); }
/// <summary>業務処理を実装</summary> /// <param name="muParameter">汎用引数クラス</param> private void UOC_Delete(MuParameterValue muParameter) { // 戻り値クラスを生成して、事前に戻り地に設定しておく。 MuReturnValue muReturn = new MuReturnValue(); this.ReturnValue = muReturn; // ↓業務処理----------------------------------------------------- switch ((muParameter.ActionType.Split('%'))[1]) { case "common": // 共通Daoを使用する。 // 共通Daoを生成 CmnDao cmnDao = new CmnDao(this.GetDam()); switch ((muParameter.ActionType.Split('%'))[2]) { case "static": // 静的SQLを指定 cmnDao.SQLFileName = "ShipperDelete.sql"; break; case "dynamic": // 動的SQLを指定 cmnDao.SQLFileName = "ShipperDelete.xml"; break; } // パラメタ ライズド クエリのパラメタに対して、動的に値を設定する。 cmnDao.SetParameter("P1", muParameter.Bean); // 共通Daoを実行 // 戻り値を設定 muReturn.Bean = cmnDao.ExecInsUpDel_NonQuery().ToString(); break; case "generate": // 自動生成Daoを使用する。 // 自動生成Daoを生成 DaoShippers genDao = new DaoShippers(this.GetDam()); // パラメタに対して、動的に値を設定する。 genDao.PK_ShipperID = muParameter.Bean; // 自動生成Daoを実行 // 戻り値を設定 muReturn.Bean = genDao.S4_Delete().ToString(); break; default: // 個別Daoを使用する。 string ret = ""; LayerD myDao = new LayerD(this.GetDam()); myDao.Delete(muParameter.ActionType, muParameter.Bean.ToString(), out ret); muReturn.Bean = ret; break; } // ↑業務処理----------------------------------------------------- // ロールバックのテスト this.TestRollback(muParameter); }
/// <summary>業務処理を実装</summary> /// <param name="muParameter">汎用引数クラス</param> private void UOC_Select(MuParameterValue muParameter) { // 戻り値クラスを生成して、事前に戻り地に設定しておく。 MuReturnValue muReturn = new MuReturnValue(); this.ReturnValue = muReturn; // ↓業務処理----------------------------------------------------- DataTable dt = null; Shipper shipper = null; switch ((muParameter.ActionType.Split('%'))[1]) { case "common": // 共通Daoを使用する。 // 共通Daoを生成 CmnDao cmnDao = new CmnDao(this.GetDam()); switch ((muParameter.ActionType.Split('%'))[2]) { case "static": // 静的SQLを指定 cmnDao.SQLFileName = "ShipperSelect.sql"; break; case "dynamic": // 動的SQLを指定 cmnDao.SQLFileName = "ShipperSelect.xml"; break; } // パラメタ ライズド クエリのパラメタに対して、動的に値を設定する。 cmnDao.SetParameter("P1", muParameter.Bean.ToString()); // 戻り値 dt dt = new DataTable("rtn"); // 共通Daoを実行 cmnDao.ExecSelectFill_DT(dt); // 戻り値を設定 shipper = new Shipper(); shipper.ShipperID = (int)muParameter.Bean; shipper.CompanyName = (string)dt.Rows[0].ItemArray.GetValue(1); shipper.Phone = (string)dt.Rows[0].ItemArray.GetValue(2); muReturn.Bean = shipper; break; case "generate": // 自動生成Daoを使用する。 // 自動生成Daoを生成 DaoShippers genDao = new DaoShippers(this.GetDam()); // パラメタに対して、動的に値を設定する。 genDao.PK_ShipperID = muParameter.Bean.ToString(); // 戻り値 dt dt = new DataTable("rtn"); // 自動生成Daoを実行 genDao.S2_Select(dt); // 戻り値を設定 shipper = new Shipper(); shipper.ShipperID = (int)muParameter.Bean; shipper.CompanyName = (string)dt.Rows[0].ItemArray.GetValue(1); shipper.Phone = (string)dt.Rows[0].ItemArray.GetValue(2); muReturn.Bean = shipper; break; default: // 個別Daoを使用する。 string companyName; string phone; LayerD myDao = new LayerD(this.GetDam()); myDao.Select(muParameter.ActionType, muParameter.Bean.ToString(), out companyName, out phone); // 戻り値を設定 shipper = new Shipper(); shipper.ShipperID = (int)muParameter.Bean; shipper.CompanyName = companyName; shipper.Phone = phone; muReturn.Bean = shipper; break; } // ↑業務処理----------------------------------------------------- // ロールバックのテスト this.TestRollback(muParameter); }
/// <summary>業務処理を実装</summary> /// <param name="muParameter">汎用引数クラス</param> private void UOC_SelectCount(MuParameterValue muParameter) { // 戻り値クラスを生成して、事前に戻り地に設定しておく。 MuReturnValue muReturn = new MuReturnValue(); this.ReturnValue = muReturn; // ↓業務処理----------------------------------------------------- switch ((muParameter.ActionType.Split('%'))[1]) { case "common": // 共通Daoを使用する。 // 共通Daoを生成 CmnDao cmnDao = new CmnDao(this.GetDam()); switch ((muParameter.ActionType.Split('%'))[2]) { case "static": // 静的SQLを指定 cmnDao.SQLFileName = "ShipperCount.sql"; break; case "dynamic": // 動的SQLを指定 cmnDao.SQLFileName = "ShipperCount.xml"; break; } // 共通Daoを実行 // 戻り値を設定 muReturn.Bean = cmnDao.ExecSelectScalar().ToString(); break; case "generate": // 自動生成Daoを使用する。 // 自動生成Daoを生成 DaoShippers genDao = new DaoShippers(this.GetDam()); // 共通Daoを実行 // 戻り値を設定 muReturn.Bean = genDao.D5_SelCnt().ToString(); break; default: // 個別Daoを使用する。 string ret = ""; LayerD myDao = new LayerD(this.GetDam()); myDao.SelectCount(muParameter.ActionType, out ret); muReturn.Bean = ret; break; } // ↑業務処理----------------------------------------------------- // ロールバックのテスト this.TestRollback(muParameter); }
/// <summary>業務処理を実装</summary> /// <param name="muParameter">汎用引数クラス</param> private void UOC_SelectAll_DS(MuParameterValue muParameter) { // 戻り値クラスを生成して、事前に戻り地に設定しておく。 MuReturnValue muReturn = new MuReturnValue(); this.ReturnValue = muReturn; // ↓業務処理----------------------------------------------------- DataSet ds = null; DataTable dt = null; Shipper[] shippers = null; switch ((muParameter.ActionType.Split('%'))[1]) { case "common": // 共通Daoを使用する。 // 共通Daoを生成 CmnDao cmnDao = new CmnDao(this.GetDam()); switch ((muParameter.ActionType.Split('%'))[2]) { case "static": // 静的SQLを指定 cmnDao.SQLText = "SELECT * FROM Shippers"; break; case "dynamic": // 動的SQLを指定 cmnDao.SQLText = "<?xml version=\"1.0\" encoding=\"utf-8\" ?><ROOT>SELECT * FROM Shippers</ROOT>"; break; } // 戻り値 ds ds = new DataSet(); // 共通Daoを実行 cmnDao.ExecSelectFill_DS(ds); // 戻り値を設定 dt = ds.Tables[0]; shippers = new Shipper[dt.Rows.Count]; for (int i = 0; i < dt.Rows.Count; i++) { Shipper shipper = new Shipper(); shipper.ShipperID = (int)dt.Rows[i]["ShipperID"]; shipper.CompanyName = (string)dt.Rows[i]["CompanyName"]; shipper.Phone = (string)dt.Rows[i]["Phone"]; shippers[i] = shipper; } muReturn.Bean = shippers; break; case "generate": // 自動生成Daoを使用する。 // 自動生成Daoを生成 DaoShippers genDao = new DaoShippers(this.GetDam()); // 戻り値 ds ds = new DataSet(); ds.Tables.Add(new DataTable("rtn")); // 自動生成Daoを実行 genDao.D2_Select(ds.Tables[0]); // 戻り値を設定 dt = ds.Tables[0]; shippers = new Shipper[dt.Rows.Count]; for (int i = 0; i < dt.Rows.Count; i++) { Shipper shipper = new Shipper(); shipper.ShipperID = (int)dt.Rows[i]["ShipperID"]; shipper.CompanyName = (string)dt.Rows[i]["CompanyName"]; shipper.Phone = (string)dt.Rows[i]["Phone"]; shippers[i] = shipper; } muReturn.Bean = shippers; break; default: // 個別Daoを使用する。 LayerD myDao = new LayerD(this.GetDam()); myDao.SelectAll_DS(muParameter.ActionType, out ds); // 戻り値を設定 dt = ds.Tables[0]; shippers = new Shipper[dt.Rows.Count]; for (int i = 0; i < dt.Rows.Count; i++) { Shipper shipper = new Shipper(); shipper.ShipperID = (int)dt.Rows[i]["ShipperID"]; shipper.CompanyName = (string)dt.Rows[i]["CompanyName"]; shipper.Phone = (string)dt.Rows[i]["Phone"]; shippers[i] = shipper; } muReturn.Bean = shippers; break; } // ↑業務処理----------------------------------------------------- // ロールバックのテスト this.TestRollback(muParameter); }
/// <summary>業務処理を実装</summary> /// <param name="muParameter">汎用引数クラス</param> private void UOC_SelectAll_DR(MuParameterValue muParameter) { // 戻り値クラスを生成して、事前に戻り地に設定しておく。 MuReturnValue muReturn = new MuReturnValue(); this.ReturnValue = muReturn; // ↓業務処理----------------------------------------------------- DataTable dt = null; Shipper[] shippers = null; switch ((muParameter.ActionType.Split('%'))[1]) { case "common": // 共通Daoを使用する。 // 共通Daoを生成 CmnDao cmnDao = new CmnDao(this.GetDam()); switch ((muParameter.ActionType.Split('%'))[2]) { case "static": // 静的SQLを指定 cmnDao.SQLText = "SELECT * FROM Shippers"; break; case "dynamic": // 動的SQLを指定 cmnDao.SQLText = "<?xml version=\"1.0\" encoding=\"utf-8\" ?><ROOT>SELECT * FROM Shippers</ROOT>"; break; } // 戻り値 dt dt = new DataTable("rtn"); // 3列生成 dt.Columns.Add("ShipperID", System.Type.GetType("System.String")); dt.Columns.Add("CompanyName", System.Type.GetType("System.String")); dt.Columns.Add("Phone", System.Type.GetType("System.String")); // 共通Daoを実行 IDataReader idr = cmnDao.ExecSelect_DR(); while (idr.Read()) { // DRから読む object[] objArray = new object[3]; idr.GetValues(objArray); // DTに設定する。 DataRow dr = dt.NewRow(); dr.ItemArray = objArray; dt.Rows.Add(dr); } // 終了したらクローズ idr.Close(); // 戻り値を設定 shippers = new Shipper[dt.Rows.Count]; for (int i = 0; i < dt.Rows.Count; i++) { Shipper shipper = new Shipper(); shipper.ShipperID = int.Parse((string)dt.Rows[i]["ShipperID"]); shipper.CompanyName = (string)dt.Rows[i]["CompanyName"]; shipper.Phone = (string)dt.Rows[i]["Phone"]; shippers[i] = shipper; } muReturn.Bean = shippers; break; case "generate": // 自動生成Daoを使用する。 // DRのI/Fなし // 自動生成Daoを生成 DaoShippers genDao = new DaoShippers(this.GetDam()); // 戻り値 dt dt = new DataTable("rtn"); // 自動生成Daoを実行 genDao.D2_Select(dt); // 戻り値を設定 shippers = new Shipper[dt.Rows.Count]; for (int i = 0; i < dt.Rows.Count; i++) { Shipper shipper = new Shipper(); shipper.ShipperID = int.Parse(dt.Rows[i]["ShipperID"].ToString()); shipper.CompanyName = (string)dt.Rows[i]["CompanyName"]; shipper.Phone = (string)dt.Rows[i]["Phone"]; shippers[i] = shipper; } muReturn.Bean = shippers; break; default: // 個別Daoを使用する。 LayerD myDao = new LayerD(this.GetDam()); myDao.SelectAll_DR(muParameter.ActionType, out dt); // 戻り値を設定 shippers = new Shipper[dt.Rows.Count]; for (int i = 0; i < dt.Rows.Count; i++) { Shipper shipper = new Shipper(); shipper.ShipperID = int.Parse((string)dt.Rows[i]["ShipperID"]); shipper.CompanyName = (string)dt.Rows[i]["CompanyName"]; shipper.Phone = (string)dt.Rows[i]["Phone"]; shippers[i] = shipper; } muReturn.Bean = shippers; break; } // ↑業務処理----------------------------------------------------- // ロールバックのテスト this.TestRollback(muParameter); }
/// <summary>業務処理を実装</summary> /// <param name="muParameter">汎用引数クラス</param> private void UOC_Select(MuParameterValue muParameter) { // 戻り値クラスを生成して、事前に戻り地に設定しておく。 MuReturnValue muReturn = new MuReturnValue(); muReturn.Bean = new Informations(""); this.ReturnValue = muReturn; // 引数をアンマーシャル string shipperID = ((Informations)muParameter.Bean).Str; // ↓業務処理----------------------------------------------------- DataTable dt = null; Dictionary<string, string> dic = null; switch ((muParameter.ActionType.Split('%'))[1]) { case "common": // 共通Daoを使用する。 // 共通Daoを生成 CmnDao cmnDao = new CmnDao(this.GetDam()); switch ((muParameter.ActionType.Split('%'))[2]) { case "static": // 静的SQLを指定 cmnDao.SQLFileName = "ShipperSelect.sql"; break; case "dynamic": // 動的SQLを指定 cmnDao.SQLFileName = "ShipperSelect.xml"; break; } // パラメタ ライズド クエリのパラメタに対して、動的に値を設定する。 cmnDao.SetParameter("P1", shipperID); // 戻り値 dt dt = new DataTable("rtn"); // 共通Daoを実行 cmnDao.ExecSelectFill_DT(dt); // 戻り値を設定 dic = new Dictionary<string, string>(); dic["ShipperID"] = dt.Rows[0].ItemArray.GetValue(0).ToString(); dic["CompanyName"] = (string)dt.Rows[0].ItemArray.GetValue(1); dic["Phone"] = (string)dt.Rows[0].ItemArray.GetValue(2); muReturn.Bean = new Informations(dic); break; case "generate": // 自動生成Daoを使用する。 // 自動生成Daoを生成 DaoShippers genDao = new DaoShippers(this.GetDam()); // パラメタに対して、動的に値を設定する。 genDao.PK_ShipperID = shipperID; // 戻り値 dt dt = new DataTable("rtn"); // 自動生成Daoを実行 genDao.S2_Select(dt); // 戻り値を設定 dic = new Dictionary<string, string>(); dic["ShipperID"] = dt.Rows[0].ItemArray.GetValue(0).ToString(); dic["CompanyName"] = (string)dt.Rows[0].ItemArray.GetValue(1); dic["Phone"] = (string)dt.Rows[0].ItemArray.GetValue(2); muReturn.Bean = new Informations(dic); break; default: // 個別Daoを使用する。 string companyName; string phone; // 個別Daoを実行 LayerD myDao = new LayerD(this.GetDam()); myDao.Select(muParameter.ActionType, shipperID, out companyName, out phone); // 戻り値を設定 dic = new Dictionary<string, string>(); dic["CompanyName"] = companyName; dic["Phone"] = phone; muReturn.Bean = new Informations(dic); break; } // ↑業務処理----------------------------------------------------- // ロールバックのテスト this.TestRollback(muParameter); }
/// <summary>業務処理を実装</summary> /// <param name="muParameter">汎用引数クラス</param> private void UOC_Update(MuParameterValue muParameter) { // 戻り値クラスを生成して、事前に戻り地に設定しておく。 MuReturnValue muReturn = new MuReturnValue(); muReturn.Bean = new Informations(""); this.ReturnValue = muReturn; // 引数をアンマーシャル Dictionary<string, string> dic = ((Informations)muParameter.Bean).Dictionary; // ↓業務処理----------------------------------------------------- switch ((muParameter.ActionType.Split('%'))[1]) { case "common": // 共通Daoを使用する。 // 共通Daoを生成 CmnDao cmnDao = new CmnDao(this.GetDam()); switch ((muParameter.ActionType.Split('%'))[2]) { case "static": // 静的SQLを指定 cmnDao.SQLFileName = "ShipperUpdate.sql"; break; case "dynamic": // 動的SQLを指定 cmnDao.SQLFileName = "ShipperUpdate.xml"; break; } // パラメタ ライズド クエリのパラメタに対して、動的に値を設定する。 cmnDao.SetParameter("P1", dic["ShipperID"]); cmnDao.SetParameter("P2", dic["CompanyName"]); cmnDao.SetParameter("P3", dic["Phone"]); // 共通Daoを実行 // 戻り値を設定 muReturn.Bean = new Informations(cmnDao.ExecInsUpDel_NonQuery().ToString()); break; case "generate": // 自動生成Daoを使用する。 // 自動生成Daoを生成 DaoShippers genDao = new DaoShippers(this.GetDam()); // パラメタに対して、動的に値を設定する。 genDao.PK_ShipperID = dic["ShipperID"]; genDao.Set_CompanyName_forUPD = dic["CompanyName"]; genDao.Set_Phone_forUPD = dic["Phone"]; // 自動生成Daoを実行 // 戻り値を設定 muReturn.Bean = new Informations(genDao.S3_Update().ToString()); break; default: // 個別Daoを使用する。 // 個別Daoを実行 string ret = ""; LayerD myDao = new LayerD(this.GetDam()); myDao.Update(muParameter.ActionType, dic["ShipperID"], dic["CompanyName"], dic["Phone"], out ret); // 戻り値を設定 muReturn.Bean = new Informations(ret); break; } // ↑業務処理----------------------------------------------------- // ロールバックのテスト this.TestRollback(muParameter); }
/// <summary>業務処理を実装</summary> /// <param name="muParameter">汎用引数クラス</param> private void UOC_Delete(MuParameterValue muParameter) { // 戻り値クラスを生成して、事前に戻り地に設定しておく。 MuReturnValue muReturn = new MuReturnValue(); this.ReturnValue = muReturn; /// 引数をアンマーシャル DTTables dtts_in = DTTables.StringToDTTables(muParameter.Value); //DTTable dtt_in = dtts_in[0]; //DTRow dtrow_in = dtt_in.Rows[0]; //DTTables dtts_out = null; //DTTable dtt_out = null; //DTRow dtrow_out = null; // ↓業務処理----------------------------------------------------- switch ((muParameter.ActionType.Split('%'))[1]) { case "common": // 共通Daoを使用する。 // 共通Daoを生成 CmnDao cmnDao = new CmnDao(this.GetDam()); switch ((muParameter.ActionType.Split('%'))[2]) { case "static": // 静的SQLを指定 cmnDao.SQLFileName = "ShipperDelete.sql"; break; case "dynamic": // 動的SQLを指定 cmnDao.SQLFileName = "ShipperDelete.xml"; break; } // パラメタ ライズド クエリのパラメタに対して、動的に値を設定する。 cmnDao.SetParameter("P1", muParameter.Value); // 共通Daoを実行 // 戻り値を設定 muReturn.Value = cmnDao.ExecInsUpDel_NonQuery().ToString(); break; case "generate": // 自動生成Daoを使用する。 // 自動生成Daoを生成 DaoShippers genDao = new DaoShippers(this.GetDam()); // パラメタに対して、動的に値を設定する。 genDao.PK_ShipperID = muParameter.Value; // 自動生成Daoを実行 // 戻り値を設定 muReturn.Value = genDao.S4_Delete().ToString(); break; default: // 個別Daoを使用する。 // 個別Daoを実行 // 戻り値を設定 LayerD myDao = new LayerD(this.GetDam()); myDao.Delete(muParameter.ActionType, muParameter.Value, out muReturn.Value); break; } // ↑業務処理----------------------------------------------------- // ロールバックのテスト this.TestRollback(muParameter); }
/// <summary>業務処理を実装</summary> /// <param name="muParameter">汎用引数クラス</param> private void UOC_SelectAll_DS(MuParameterValue muParameter) { // 戻り値クラスを生成して、事前に戻り地に設定しておく。 MuReturnValue muReturn = new MuReturnValue(); muReturn.Bean = new Informations(""); this.ReturnValue = muReturn; // ↓業務処理----------------------------------------------------- DataSet ds = null; switch ((muParameter.ActionType.Split('%'))[1]) { case "common": // 共通Daoを使用する。 // 共通Daoを生成 CmnDao cmnDao = new CmnDao(this.GetDam()); switch ((muParameter.ActionType.Split('%'))[2]) { case "static": // 静的SQLを指定 cmnDao.SQLText = "SELECT * FROM Shippers"; break; case "dynamic": // 動的SQLを指定 cmnDao.SQLText = "<?xml version=\"1.0\" encoding=\"utf-8\" ?><ROOT>SELECT * FROM Shippers</ROOT>"; break; } // 戻り値 ds ds = new DataSet(); // 共通Daoを実行 cmnDao.ExecSelectFill_DS(ds); // 戻り値をマーシャリングして設定 muReturn.Bean = new Informations(DataContractHelper.ToList(ds.Tables[0])); break; case "generate": // 自動生成Daoを使用する。 // 自動生成Daoを生成 DaoShippers genDao = new DaoShippers(this.GetDam()); // 戻り値 ds ds = new DataSet(); ds.Tables.Add(new DataTable("rtn")); // 自動生成Daoを実行 genDao.D2_Select(ds.Tables[0]); // 戻り値をマーシャリングして設定 muReturn.Bean = new Informations(DataContractHelper.ToList(ds.Tables[0])); break; default: // 個別Daoを使用する。 // 個別Daoを実行 LayerD myDao = new LayerD(this.GetDam()); myDao.SelectAll_DS(muParameter.ActionType, out ds); // 戻り値をマーシャリングして設定 muReturn.Bean = new Informations(DataContractHelper.ToList(ds.Tables[0])); break; } // ↑業務処理----------------------------------------------------- // ロールバックのテスト this.TestRollback(muParameter); }
/// <summary>業務処理を実装</summary> /// <param name="muParameter">汎用引数クラス</param> private void UOC_Insert(MuParameterValue muParameter) { // 戻り値クラスを生成して、事前に戻り地に設定しておく。 MuReturnValue muReturn = new MuReturnValue(); this.ReturnValue = muReturn; // 引数をアンマーシャル DTTables dtts_in = DTTables.StringToDTTables(muParameter.Value); DTTable dtt_in = dtts_in[0]; DTRow dtrow_in = dtt_in.Rows[0]; //DTTables dtts_out = null; //DTTable dtt_out = null; //DTRow dtrow_out = null; // ↓業務処理----------------------------------------------------- switch ((muParameter.ActionType.Split('%'))[1]) { case "common": // 共通Daoを使用する。 // 共通Daoを生成 CmnDao cmnDao = new CmnDao(this.GetDam()); cmnDao.SQLFileName = "ShipperInsert.sql"; // パラメタ ライズド クエリのパラメタに対して、動的に値を設定する。 cmnDao.SetParameter("P2", dtrow_in["CompanyName"]); cmnDao.SetParameter("P3", dtrow_in["Phone"]); // 共通Daoを実行 // 戻り値を設定 muReturn.Value = cmnDao.ExecInsUpDel_NonQuery().ToString(); break; case "generate": // 自動生成Daoを使用する。 // 自動生成Daoを生成 DaoShippers genDao = new DaoShippers(this.GetDam()); // パラメタに対して、動的に値を設定する。 genDao.CompanyName = dtrow_in["CompanyName"]; genDao.Phone = dtrow_in["Phone"]; // 自動生成Daoを実行 // 戻り値を設定 muReturn.Value = genDao.D1_Insert().ToString(); break; default: // 個別Daoを使用する。 // 個別Daoを実行 // 戻り値を設定 LayerD myDao = new LayerD(this.GetDam()); myDao.Insert(muParameter.ActionType, (string)dtrow_in["CompanyName"], (string)dtrow_in["Phone"], out muReturn.Value); break; } // ↑業務処理----------------------------------------------------- // ロールバックのテスト this.TestRollback(muParameter); }
/// <summary>業務処理を実装</summary> /// <param name="muParameter">汎用引数クラス</param> private void UOC_Select(MuParameterValue muParameter) { // 戻り値クラスを生成して、事前に戻り地に設定しておく。 MuReturnValue muReturn = new MuReturnValue(); this.ReturnValue = muReturn; // 引数をアンマーシャル //DTTables dtts_in = Marshalling.StringToDTTables(muParameter.Value); //DTTable dtt_in = dtts_in[0]; //DTRow dtrow_in = dtt_in.Rows[0]; DTTables dtts_out = null; DTTable dtt_out = null; DTRow dtrow_out = null; // ↓業務処理----------------------------------------------------- DataTable dt = null; switch ((muParameter.ActionType.Split('%'))[1]) { case "common": // 共通Daoを使用する。 // 共通Daoを生成 CmnDao cmnDao = new CmnDao(this.GetDam()); switch ((muParameter.ActionType.Split('%'))[2]) { case "static": // 静的SQLを指定 cmnDao.SQLFileName = "ShipperSelect.sql"; break; case "dynamic": // 動的SQLを指定 cmnDao.SQLFileName = "ShipperSelect.xml"; break; } // パラメタ ライズド クエリのパラメタに対して、動的に値を設定する。 cmnDao.SetParameter("P1", muParameter.Value); // 戻り値 dt dt = new DataTable("rtn"); // 共通Daoを実行 cmnDao.ExecSelectFill_DT(dt); // キャストの対策コードを挿入 dtt_out = new DTTable("ret"); dtt_out.Cols.Add(new DTColumn("ShipperID", DTType.Int32)); dtt_out.Cols.Add(new DTColumn("CompanyName", DTType.String)); dtt_out.Cols.Add(new DTColumn("Phone", DTType.String)); dtrow_out = dtt_out.Rows.AddNew(); // ・SQLの場合、ShipperIDのintがInt32型にマップされる。 // ・ODPの場合、ShipperIDのNUMBERがInt64型にマップされる。 // ・DB2の場合、ShipperIDのDECIMALがxxx型にマップされる。 if (dt.Rows[0].ItemArray.GetValue(0).GetType().ToString() == "System.Int32") { // Int32なのでキャスト dtrow_out["ShipperID"] = (int)dt.Rows[0].ItemArray.GetValue(0); } else { // それ以外の場合、一度、文字列に変換してInt32.Parseする。 dtrow_out["ShipperID"] = int.Parse(dt.Rows[0].ItemArray.GetValue(0).ToString()); } dtrow_out["CompanyName"] = (string)dt.Rows[0].ItemArray.GetValue(1); dtrow_out["Phone"] = (string)dt.Rows[0].ItemArray.GetValue(2); // 戻り値をマーシャリングして設定 dtts_out = new DTTables(); dtts_out.Add(dtt_out); muReturn.Value = DTTables.DTTablesToString(dtts_out); break; case "generate": // 自動生成Daoを使用する。 // 自動生成Daoを生成 DaoShippers genDao = new DaoShippers(this.GetDam()); // パラメタに対して、動的に値を設定する。 genDao.PK_ShipperID = muParameter.Value; // 戻り値 dt dt = new DataTable("rtn"); // 自動生成Daoを実行 genDao.S2_Select(dt); // キャストの対策コードを挿入 dtt_out = new DTTable("ret"); dtt_out.Cols.Add(new DTColumn("ShipperID", DTType.Int32)); dtt_out.Cols.Add(new DTColumn("CompanyName", DTType.String)); dtt_out.Cols.Add(new DTColumn("Phone", DTType.String)); dtrow_out = dtt_out.Rows.AddNew(); // ・SQLの場合、ShipperIDのintがInt32型にマップされる。 // ・ODPの場合、ShipperIDのNUMBERがInt64型にマップされる。 // ・DB2の場合、ShipperIDのDECIMALがxxx型にマップされる。 if (dt.Rows[0].ItemArray.GetValue(0).GetType().ToString() == "System.Int32") { // Int32なのでキャスト dtrow_out["ShipperID"] = (int)dt.Rows[0].ItemArray.GetValue(0); } else { // それ以外の場合、一度、文字列に変換してInt32.Parseする。 dtrow_out["ShipperID"] = int.Parse(dt.Rows[0].ItemArray.GetValue(0).ToString()); } dtrow_out["CompanyName"] = (string)dt.Rows[0].ItemArray.GetValue(1); dtrow_out["Phone"] = (string)dt.Rows[0].ItemArray.GetValue(2); // 戻り値をマーシャリングして設定 dtts_out = new DTTables(); dtts_out.Add(dtt_out); muReturn.Value = DTTables.DTTablesToString(dtts_out); break; default: // 個別Daoを使用する。 // 個別Daoを実行 string companyName; string phone; LayerD myDao = new LayerD(this.GetDam()); myDao.Select(muParameter.ActionType, muParameter.Value, out companyName, out phone); // 戻り値をマーシャリングして設定 dtt_out = new DTTable("ret"); dtt_out.Cols.Add(new DTColumn("ShipperID", DTType.Int32)); dtt_out.Cols.Add(new DTColumn("CompanyName", DTType.String)); dtt_out.Cols.Add(new DTColumn("Phone", DTType.String)); dtrow_out = dtt_out.Rows.AddNew(); dtrow_out["ShipperID"] = int.Parse(muParameter.Value); dtrow_out["CompanyName"] = companyName; dtrow_out["Phone"] = phone; dtts_out = new DTTables(); dtts_out.Add(dtt_out); muReturn.Value = DTTables.DTTablesToString(dtts_out); break; } // ↑業務処理----------------------------------------------------- // ロールバックのテスト this.TestRollback(muParameter); }
/// <summary>業務処理を実装</summary> /// <param name="muParameter">汎用引数クラス</param> private void UOC_SelectAll_DR(MuParameterValue muParameter) { // 戻り値クラスを生成して、事前に戻り地に設定しておく。 MuReturnValue muReturn = new MuReturnValue(); this.ReturnValue = muReturn; // 引数をアンマーシャル DTTables dtts_in = DTTables.StringToDTTables(muParameter.Value); DTTable dtt_in = dtts_in[0]; //DTRow dtrow_in = dtt_in.Rows[0]; DTTables dtts_out = null; //DTTable dtt_out = null; //DTRow dtrow_out = null; // ↓業務処理----------------------------------------------------- DataTable dt = null; switch ((muParameter.ActionType.Split('%'))[1]) { case "common": // 共通Daoを使用する。 // 共通Daoを生成 CmnDao cmnDao = new CmnDao(this.GetDam()); switch ((muParameter.ActionType.Split('%'))[2]) { case "static": // 静的SQLを指定 cmnDao.SQLText = "SELECT * FROM Shippers"; break; case "dynamic": // 動的SQLを指定 cmnDao.SQLText = "<?xml version=\"1.0\" encoding=\"utf-8\" ?><ROOT>SELECT * FROM Shippers</ROOT>"; break; } // 戻り値 dt dt = new DataTable("rtn"); // 3列生成 dt.Columns.Add("ShipperID", System.Type.GetType("System.String")); dt.Columns.Add("CompanyName", System.Type.GetType("System.String")); dt.Columns.Add("Phone", System.Type.GetType("System.String")); // 共通Daoを実行 IDataReader idr = cmnDao.ExecSelect_DR(); while (idr.Read()) { // DRから読む object[] objArray = new object[3]; idr.GetValues(objArray); // DTに設定する。 DataRow dr = dt.NewRow(); dr.ItemArray = objArray; dt.Rows.Add(dr); } // 終了したらクローズ idr.Close(); // 戻り値をマーシャリングして設定 dtts_out = new DTTables(); dtts_out.Add(DTTable.FromDataTable(dt)); muReturn.Value = DTTables.DTTablesToString(dtts_out); break; case "generate": // 自動生成Daoを使用する。 // DRのI/Fなし // 自動生成Daoを生成 DaoShippers genDao = new DaoShippers(this.GetDam()); // 戻り値 dt dt = new DataTable("rtn"); // 自動生成Daoを実行 genDao.D2_Select(dt); // 戻り値をマーシャリングして設定 dtts_out = new DTTables(); dtts_out.Add(DTTable.FromDataTable(dt)); muReturn.Value = DTTables.DTTablesToString(dtts_out); break; default: // 個別Daoを使用する。 // 個別Daoを実行 LayerD myDao = new LayerD(this.GetDam()); myDao.SelectAll_DR(muParameter.ActionType, out dt); // 戻り値をマーシャリングして設定 dtts_out = new DTTables(); dtts_out.Add(DTTable.FromDataTable(dt)); muReturn.Value = DTTables.DTTablesToString(dtts_out); break; } // ↑業務処理----------------------------------------------------- // ロールバックのテスト this.TestRollback(muParameter); }
/// <summary>業務処理を実装</summary> /// <param name="muParameter">汎用引数クラス</param> private void UOC_SelectAll_DS(MuParameterValue muParameter) { // 戻り値クラスを生成して、事前に戻り地に設定しておく。 MuReturnValue muReturn = new MuReturnValue(); this.ReturnValue = muReturn; // 引数をアンマーシャル DTTables dtts_in = DTTables.StringToDTTables(muParameter.Value); DTTable dtt_in = dtts_in[0]; //DTRow dtrow_in = dtt_in.Rows[0]; DTTables dtts_out = null; //DTTable dtt_out = null; //DTRow dtrow_out = null; // ↓業務処理----------------------------------------------------- DataSet ds = null; switch ((muParameter.ActionType.Split('%'))[1]) { case "common": // 共通Daoを使用する。 // 共通Daoを生成 CmnDao cmnDao = new CmnDao(this.GetDam()); switch ((muParameter.ActionType.Split('%'))[2]) { case "static": // 静的SQLを指定 cmnDao.SQLText = "SELECT * FROM Shippers"; break; case "dynamic": // 動的SQLを指定 cmnDao.SQLText = "<?xml version=\"1.0\" encoding=\"utf-8\" ?><ROOT>SELECT * FROM Shippers</ROOT>"; break; } // 戻り値 ds ds = new DataSet(); // 共通Daoを実行 cmnDao.ExecSelectFill_DS(ds); // 戻り値をマーシャリングして設定 dtts_out = new DTTables(); dtts_out.Add(DTTable.FromDataTable(ds.Tables[0])); muReturn.Value = DTTables.DTTablesToString(dtts_out); break; case "generate": // 自動生成Daoを使用する。 // 自動生成Daoを生成 DaoShippers genDao = new DaoShippers(this.GetDam()); // 戻り値 ds ds = new DataSet(); ds.Tables.Add(new DataTable("rtn")); // 自動生成Daoを実行 genDao.D2_Select(ds.Tables[0]); // 戻り値をマーシャリングして設定 dtts_out = new DTTables(); dtts_out.Add(DTTable.FromDataTable(ds.Tables[0])); muReturn.Value = DTTables.DTTablesToString(dtts_out); break; default: // 個別Daoを使用する。 // 個別Daoを実行 LayerD myDao = new LayerD(this.GetDam()); myDao.SelectAll_DS(muParameter.ActionType, out ds); // 戻り値をマーシャリングして設定 dtts_out = new DTTables(); dtts_out.Add(DTTable.FromDataTable(ds.Tables[0])); muReturn.Value = DTTables.DTTablesToString(dtts_out); break; } // ↑業務処理----------------------------------------------------- // ロールバックのテスト this.TestRollback(muParameter); }
/// <summary>業務処理を実装</summary> /// <param name="muParameter">汎用引数クラス</param> private void UOC_SelectCount(MuParameterValue muParameter) { // 戻り値クラスを生成して、事前に戻り地に設定しておく。 MuReturnValue muReturn = new MuReturnValue(); this.ReturnValue = muReturn; // 引数をアンマーシャル DTTables dtts_in = DTTables.StringToDTTables(muParameter.Value); DTTable dtt_in = dtts_in[0]; //DTRow dtrow_in = dtt_in.Rows[0]; //DTTables dtts_out = null; //DTTable dtt_out = null; //DTRow dtrow_out = null; // ↓業務処理----------------------------------------------------- switch ((muParameter.ActionType.Split('%'))[1]) { case "common": // 共通Daoを使用する。 // 共通Daoを生成 CmnDao cmnDao = new CmnDao(this.GetDam()); switch ((muParameter.ActionType.Split('%'))[2]) { case "static": // 静的SQLを指定 cmnDao.SQLFileName = "ShipperCount.sql"; break; case "dynamic": // 動的SQLを指定 cmnDao.SQLFileName = "ShipperCount.xml"; break; } // 共通Daoを実行 // 戻り値を設定 muReturn.Value = cmnDao.ExecSelectScalar().ToString(); break; case "generate": // 自動生成Daoを使用する。 // 自動生成Daoを生成 DaoShippers genDao = new DaoShippers(this.GetDam()); // 共通Daoを実行 // 戻り値を設定 muReturn.Value = genDao.D5_SelCnt().ToString(); break; default: // 個別Daoを使用する。 // 個別Daoを実行 string ret = ""; LayerD_mu myDao = new LayerD_mu(this.GetDam()); myDao.SelectCount(muParameter.ActionType, out ret); // 戻り値を設定 muReturn.Value = ret; break; } // ↑業務処理----------------------------------------------------- // ロールバックのテスト this.TestRollback(muParameter); }