Exemplo n.º 1
0
        /// <summary>業務処理を実装</summary>
        /// <param name="muParameter">汎用引数クラス</param>
        private void UOC_メソッド名(MuParameterValue muParameter)
        { //メソッド引数にBaseParameterValueの派生の型を定義可能。
            // 戻り値クラスを生成して、事前に戻り地に設定しておく。
            MuReturnValue muReturn = new MuReturnValue();

            muReturn.Bean    = new Informations("");
            this.ReturnValue = muReturn;

            // 引数をアンマーシャル
            DataTable dt = DataContractHelper.ToDataTable(((Informations)muParameter.Bean).DicList);

            // ↓業務処理-----------------------------------------------------

            // 個別Dao
            LayerD_mu myDao = new LayerD_mu(this.GetDam());
            //myDao.xxxx(muParameter.ActionType, dtts, muReturn);

            // 共通Dao
            CmnDao cmnDao = new CmnDao(this.GetDam());

            cmnDao.ExecSelectScalar();

            // 戻り値をマーシャリングして設定
            muReturn.Bean = new Informations("");
            muReturn.Bean = new Informations(DataContractHelper.ToList(dt));

            // ↑業務処理-----------------------------------------------------
        }
Exemplo n.º 2
0
        /// <summary>業務処理を実装</summary>
        /// <param name="muParameter">汎用引数クラス</param>
        private void UOC_SelectAll_DR(MuParameterValue muParameter)
        {
            // 戻り値クラスを生成して、事前に戻り地に設定しておく。
            MuReturnValue muReturn = new MuReturnValue();

            muReturn.Bean    = new Informations("");
            this.ReturnValue = muReturn;

            // ↓業務処理-----------------------------------------------------
            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();

                // 戻り値をマーシャリングして設定
                muReturn.Bean = new Informations(DataContractHelper.ToList(dt));

                break;

            case "generate":     // 自動生成Daoを使用する。

                // DRのI/Fなし

                // 自動生成Daoを生成
                DaoShippers genDao = new DaoShippers(this.GetDam());

                // 戻り値 dt
                dt = new DataTable("rtn");

                // 自動生成Daoを実行
                genDao.D2_Select(dt);

                // 戻り値をマーシャリングして設定
                muReturn.Bean = new Informations(DataContractHelper.ToList(dt));

                break;

            default:     // 個別Daoを使用する。

                // 個別Daoを実行
                LayerD_mu myDao = new LayerD_mu(this.GetDam());
                myDao.SelectAll_DR(muParameter.ActionType, out dt);

                // 戻り値をマーシャリングして設定
                muReturn.Bean = new Informations(DataContractHelper.ToList(dt));

                break;
            }

            // ↑業務処理-----------------------------------------------------

            // ロールバックのテスト
            this.TestRollback(muParameter);
        }
Exemplo n.º 3
0
        /// <summary>業務処理を実装</summary>
        /// <param name="muParameter">汎用引数クラス</param>
        private void UOC_SelectAll_DSQL(MuParameterValue muParameter)
        {
            // 戻り値クラスを生成して、事前に戻り地に設定しておく。
            MuReturnValue muReturn = new MuReturnValue();

            muReturn.Bean    = new Informations("");
            this.ReturnValue = muReturn;

            // 引数をアンマーシャル
            Dictionary <string, string> dic = ((Informations)muParameter.Bean).Dictionary;

            // ↓業務処理-----------------------------------------------------
            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 = "ShipperSelectOrder.sql";
                    break;

                case "dynamic":
                    // 動的SQLを指定
                    cmnDao.SQLFileName = "ShipperSelectOrder.xml";
                    break;
                }

                // ユーザ定義パラメタに対して、動的に値を設定する。
                string orderColumn   = "";
                string orderSequence = "";

                if (dic["OrderColumn"].ToString() == "c1")
                {
                    orderColumn = "ShipperID";
                }
                else if (dic["OrderColumn"].ToString() == "c2")
                {
                    orderColumn = "CompanyName";
                }
                else if (dic["OrderColumn"].ToString() == "c3")
                {
                    orderColumn = "Phone";
                }
                else
                {
                }

                if (dic["OrderSequence"].ToString() == "A")
                {
                    orderSequence = "ASC";
                }
                else if (dic["OrderSequence"].ToString() == "D")
                {
                    orderSequence = "DESC";
                }
                else
                {
                }

                // パラメタ ライズド クエリのパラメタに対して、動的に値を設定する。
                cmnDao.SetParameter("P1", "test");

                // ユーザ入力は指定しない。
                // ※ 動的SQLのVALタグは、前後の空白をつめることが有るので、
                //    必要であれば、前後の空白を明示的に指定する必要がある。
                cmnDao.SetUserParameter("COLUMN", " " + orderColumn + " ");
                cmnDao.SetUserParameter("SEQUENCE", " " + orderSequence + " ");

                // 戻り値 dt
                dt = new DataTable("rtn");

                // 共通Daoを実行
                cmnDao.ExecSelectFill_DT(dt);

                // 戻り値をマーシャリングして設定
                muReturn.Bean = new Informations(DataContractHelper.ToList(dt));

                break;

            //case "generate": // 自動生成Daoを使用する。
            //    // 当該SQLなし
            //    break;

            default:     // 個別Daoを使用する。

                // 個別Daoを実行
                LayerD_mu myDao = new LayerD_mu(this.GetDam());
                myDao.SelectAll_DSQL(
                    muParameter.ActionType,
                    dic["OrderColumn"].ToString(),
                    dic["OrderSequence"].ToString(), out dt);

                // 戻り値をマーシャリングして設定
                muReturn.Bean = new Informations(DataContractHelper.ToList(dt));

                break;
            }

            // ↑業務処理-----------------------------------------------------

            // ロールバックのテスト
            this.TestRollback(muParameter);
        }
Exemplo n.º 4
0
        /// <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_mu myDao = new LayerD_mu(this.GetDam());
                myDao.SelectAll_DS(muParameter.ActionType, out ds);

                // 戻り値をマーシャリングして設定
                muReturn.Bean = new Informations(DataContractHelper.ToList(ds.Tables[0]));

                break;
            }

            // ↑業務処理-----------------------------------------------------

            // ロールバックのテスト
            this.TestRollback(muParameter);
        }