/// <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 }
/// <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; }