Exemple #1
0
        /// <summary>
        /// 指定されたコマンド テキストが、
        /// 動的パラメタライズド クエリであるか確認する。
        /// </summary>
        /// <param name="commandText">コマンド テキスト</param>
        /// <remarks>派生のDamXXXから利用する。</remarks>
        protected void CheckCommandText(string commandText)
        {

#if PERFORMANCE_LOG_SWITCH // 2009/09/25-このプリプロセッサ
            PerformanceRecorder perfRec = new PerformanceRecorder();
            perfRec.StartsPerformanceRecord();
            Debug.WriteLine("CheckCommandText(開始)");
#endif

            // ここでDamのメンバ変数の状態を初期化する。
            this.init();

            // 2008/10/16---チェック処理の変更(ここから)

            // XMLかどうかを確認するフラグ。
            bool isXML = false;

            try
            {
                // XLMであるか確認する。
                this._xml = new XmlDocument();
                StringReader sr = new StringReader(commandText);
                this._xml.Load(sr);

                // XMLではある。
                isXML = true;
            }
            catch
            {
                // XMLではない。
                isXML = false;
            }

            if (isXML)
            {
                // デバッグ時は構文チェックする。

                // XMLの場合、DPQであるか確認する。
                foreach (XmlNode xmlNode in this._xml.ChildNodes)
                {
                    // 大文字・小文字は区別する。
                    if (xmlNode.Name == PubLiteral.DPQ_TAG_ROOT)
                    {
                        this.Scan(xmlNode);
                        this._QueryStatus = DbEnum.QueryStatusEnum.DPQ;
                    }
                }
            }            

            // 2008/10/16---チェック処理の変更(ここまで)

#if PERFORMANCE_LOG_SWITCH // 2009/09/25-このプリプロセッサ
            Debug.WriteLine("CheckCommandText(終了):" + perfRec.EndsPerformanceRecord());
#endif

        }
Exemple #2
0
        /// <summary>
        /// 初期化メソッド(SQLを連続で実行する場合に必要)
        /// SetSqlByCommandメソッドで実行する。
        /// </summary>
        /// <remarks>派生のDamXXXから利用する。</remarks>
        protected void init()
        {
            // メンバ変数を初期化する。

            // XML
            this._xml = null;

            // パラメタ関係
            this._parameter = new Dictionary<string,object>();
            this._parameterType = new Dictionary<string, object>();
            this._parameterSize = new Dictionary<string, int>();
            this._parameterDirection = new Dictionary<string, ParameterDirection>();

            this._userParameter = new Dictionary<string, string>();

            // 静的パラメタライズドクエリ化
            this._QueryStatus = DbEnum.QueryStatusEnum.SPQ;
        }