예제 #1
0
        public virtual string Case(Case @case, SqlOptions sql)
        {
            var c = $"CASE WHEN {@case.Condition.ToString(sql)} THEN {sql.CreateItemID(@case.Result)} ";

            foreach (var when in @case.Whens)
            {
                c += $"WHEN {when.Condition.ToString(sql)} THEN {sql.CreateItemID(when.Result)} ";
            }
            if (@case.ElseResult != null)
            {
                c += $"ELSE {sql.CreateItemID(@case.ElseResult)} ";
            }
            return(c + "END");
        }
예제 #2
0
        public virtual string Column(Column column, SqlOptions sql)
        {
            var line = $"{sql.IdentifieName(column.Name)} ";

            line += sql.CSharpTypeToSqlDataType(column.DataType, column.Size, column.Digits);
            line += column.NotNull ? " NOT NULL" : "";
            if (column.AutoIncrement)
            {
                line += " AUTO_INCREMENT";
            }
            else if (column.DefaultValue != null)
            {
                line += $" DEFAULT {sql.CreateItemID(column.DefaultValue)}";
            }

            return(line);
        }
예제 #3
0
파일: Value.cs 프로젝트: Endahl/CSharpedSql
 /// <summary>
 /// Returns the <see cref="Value"/> as a string.
 /// </summary>
 public override string ToString(SqlOptions sql)
 {
     return(sql.CreateItemID(Object));
 }