Пример #1
0
 /// <summary>
 /// 表示@ParamName1,@ParamName2和参数值
 /// </summary>
 /// <param name="param">Append a whole object full of params to the dynamic EG: (new {A = 1, B = 2}) will add property A and B to the dynamic</param>
 /// <returns></returns>
 public DBBuilder Param(dynamic param)
 {
     if (param != null)
     {
         var dp = new DBParameterList(param);
         Param(dp.ParameterNames.ToArray());
         this.Append(null, dp);
     }
     return(this);
 }
Пример #2
0
        /// <summary>
        /// 创建以insert into开头语的SQL语句
        /// </summary>
        /// <returns></returns>
        public static DBBuilder Insert(string tablename = null, dynamic valueParam = null)
        {
            var builder = new DBBuilder("INSERT INTO ");

            if (tablename != null && valueParam != null)
            {
                var dp = new DBParameterList(valueParam);
                builder.Table(tablename, dp.ParameterNames.ToArray()).Values(dp);
            }
            else if (tablename != null)
            {
                builder.Table(tablename);
            }
            return(builder);
        }
Пример #3
0
 /// <summary>
 /// 表示ParamName1=@ParamValue1 and ParamName2=@ParamValue2
 /// </summary>
 /// <param name="tableName"></param>
 /// <param name="param"></param>
 /// <param name="symbol"></param>
 /// <param name="joiner"></param>
 /// <param name="useDirectOutput"></param>
 /// <returns></returns>
 public DBBuilder Operate(string tableName = null, dynamic param = null, string symbol = "=", string joiner = "AND", bool useDirectOutput = true)
 {
     if (param != null)
     {
         var dp = new DBParameterList(param);
         if (useDirectOutput || tableName != null)
         {
             this.Append(dbAdapter => string.Join(" " + joiner + " ", dp.ParameterNames.Select(d =>
                                                                                               (tableName != null ? dbAdapter.FormatTable(tableName) + "." : "") + dbAdapter.FormatField(d) + " " + symbol + " " + dbAdapter.FormatValue(dp.Get <object>(d))
                                                                                               )));
         }
         else
         {
             this.Append(dbAdapter => string.Join(" " + joiner + " ", dp.ParameterNames.Select(d =>
                                                                                               (tableName != null ? dbAdapter.FormatTable(tableName) + "." : "") + dbAdapter.FormatField(d) + " " + symbol + " " + dbAdapter.FormatParameter(d)
                                                                                               ))).Append(null, dp);
         }
     }
     else
     {
         this.Append(symbol);
     }
     return(this);
 }