Exemplo n.º 1
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="tableModel"></param>
        /// <returns></returns>
        private string GetCreateSql(TableModel tableModel)
        {
            if (tableModel == null)
                throw new ArgumentNullException(@"指定されたTableModelにNullが指定されています。");
            if (tableModel.ColumnModels.Count == 0)
                throw new ArgumentOutOfRangeException(@"指定されたTableModelのColumnModelリストが0件です。1件以上のデータが必要となります。");

            return string.Empty;
        }
Exemplo n.º 2
0
        /// <summary>
        /// 指定されたTableModelをもとにSelect文を生成します。
        /// </summary>
        /// <param name="tableModel">Select文を生成する対象のTableModel</param>
        /// <returns>生成したSelect文</returns>
        private string GetSelectSql(TableModel tableModel)
        {
            if (tableModel == null)
                throw new ArgumentNullException(@"指定されたTableModelにNullが指定されています。");
            if (tableModel.ColumnModels == null)
                throw new ArgumentNullException(@"指定されたTableModelのColumnModelリストにNullが指定されています。");
            if (tableModel.ColumnModels.Count == 0)
                throw new ArgumentOutOfRangeException(@"指定されたTableModelのColumnModelリストが0件です。1件以上のデータが必要となります。");

            // 整形用の最大文字列長を格納しておきます。
            int maxLength = 0;
            foreach (var columnModel in tableModel.ColumnModels)
            {
                maxLength = columnModel.PhysicalName.Length <= maxLength ? maxLength : columnModel.PhysicalName.Length;
            }
            // スペース文のバッファーをカウントアップ
            maxLength += 1;

            // テーブル定義書に合わせて、Select文を生成
            var sb = new StringBuilder();
            sb.Append(@"SELECT ");
            foreach (var columnModel in tableModel.ColumnModels)
            {
                sb.Append(columnModel.PhysicalName.PadRight(maxLength));

                if (this.AsSets) sb.Append(@"AS ");

                sb.Append(@"""");
                sb.Append(columnModel.LogicalName);
                sb.Append(@"""");

                sb.Append(Environment.NewLine);
                sb.Append(@"      ,");
            }
            sb.Remove(sb.Length - 7, 7);

            sb.Append(@"  FROM ");
            sb.Append(tableModel.PhysicalName);

            return sb.ToString();
        }