public DbCriteria Add(string table, string fieldname, DbFieldEntry fieldvalue, DbExpression.SqlCondition condition, ConcatMode mode)
 {
     if (mode == ConcatMode.AND)
     {
         And(CreateExpression(table, fieldname, fieldvalue, condition));
     }
     else if (mode == ConcatMode.OR)
     {
         Or(CreateExpression(table, fieldname, fieldvalue, condition));
     }
     return(this);
 }
Пример #2
0
        public DbExpression(DbColumn column, DbFieldEntry fieldvalue, SqlCondition condition)
        {
            mColumn     = column;
            mFieldvalue = fieldvalue;
            mCondition  = condition;

            this[SqlCondition.IsEqual]        = "=";
            this[SqlCondition.IsLessEqual]    = "<=";
            this[SqlCondition.IsGreaterEqual] = ">=";
            this[SqlCondition.IsLess]         = "<";
            this[SqlCondition.IsGreater]      = ">";
            this[SqlCondition.Like]           = "LIKE";
        }
Пример #3
0
        public override string ToString()
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendFormat("UPDATE {0} SET", DbMgr.FieldAlias(mTable));

            int column_counter = 0;

            foreach (string columnname in mColumns.Keys)
            {
                DbElement fieldvalue = mColumns[columnname];
                if (fieldvalue is DbFieldEntry)
                {
                    DbFieldEntry _fieldvalue = fieldvalue as DbFieldEntry;
                    if (!_fieldvalue.IsValidValue)
                    {
                        continue;
                    }
                    if (_fieldvalue.SkipOnUpdate)
                    {
                        continue;
                    }
                }
                if (column_counter == 0)
                {
                    sb.AppendFormat(" {0} = {1}", DbMgr.FieldAlias(columnname), fieldvalue);
                }
                else
                {
                    sb.AppendFormat(", {0} = {1}", DbMgr.FieldAlias(columnname), fieldvalue);
                }
                column_counter++;
            }

            string where_text = WhereText;

            if (where_text != "")
            {
                sb.AppendFormat(" WHERE {0}", where_text);
            }

            return(sb.ToString());
        }
 public virtual DbExpression CreateExpression(string table, string fieldname, DbFieldEntry fieldvalue, DbExpression.SqlCondition condition)
 {
     return(DbMgr.CreateExpression(DbMgr.CreateColumn(table, fieldname), fieldvalue, condition));
 }