Example #1
0
        public TableJoin(JoinTypes type, DataField joinField, DataField tableField)
        {
            conditions = new QueryCondition();

            Type = type;
            JoinTable = joinField.Table;
            JoinField = joinField.Name;
            Table = tableField.Table;
            TableField = tableField.Name;

            AddCondition(joinField.ToString(), tableField);
        }
Example #2
0
        public override Dictionary<Index, List<DataField>> GetIndexes(string tableName)
        {
            Dictionary<Index, List<DataField>> indexes = new Dictionary<Index, List<DataField>>(4);

            DataTable fieldTable = SelectQuery(string.Format("SHOW INDEXES FROM `{0}`",
                Mysql.Escape(tableName)));

            foreach (DataRow dr in fieldTable.Rows)
            {
                DataField df = new DataField((string)dr["Table"], (string)dr["Column_name"]);
                string key = (string)dr["Key_name"];

                Index index = null;

                if ((long)dr["Non_unique"] == 0)
                {
                    if (key == "PRIMARY")
                    {
                        index = new PrimaryKey();
                    }
                    else
                    {
                        index = new UniqueKey(key);
                    }
                }
                else
                {
                    index = new Index(key);
                }

                if (indexes.ContainsKey(index) == false)
                {
                    indexes.Add(index, new List<DataField>());
                }

                indexes[index].Add(df);
            }

            return indexes;
        }
Example #3
0
        public QueryCondition AddCondition(ConditionRelations relation, DataField field, ConditionEquality equality, object value)
        {
            QueryCondition condition = new QueryCondition(field.ToString(), equality, value);

            conditions.Add(new KeyValuePair<QueryCondition, ConditionRelations>(condition, relation));

            return condition;
        }
Example #4
0
 public QueryCondition AddCondition(DataField field, ConditionEquality equality, object value)
 {
     if (conditions.Count == 0 && field != null)
     {
         return AddCondition(ConditionRelations.First, field, equality, value);
     }
     else
     {
         return AddCondition(ConditionRelations.And, field, equality, value);
     }
 }
Example #5
0
 public QueryCondition AddCondition(ConditionRelations relation, DataField field, object value)
 {
     if (conditions.Count == 0 && field != null)
     {
         return AddCondition(ConditionRelations.First, field, ConditionEquality.Equal, value);
     }
     else
     {
         return AddCondition(relation, field, ConditionEquality.Equal, value);
     }
 }
Example #6
0
 public QueryCondition AddCondition(DataField field, object value)
 {
     if (conditions.Count == 0)
     {
         return conditions.AddCondition(ConditionRelations.First, field.ToString(), ConditionEquality.Equal, value);
     }
     else
     {
         return conditions.AddCondition(ConditionRelations.And, field.ToString(), ConditionEquality.Equal, value);
     }
 }
Example #7
0
 public TableSort(SortOrder order, DataField field, QueryCondition sortLast)
 {
     Order = order;
     Field = field.ToString();
     SortLast = sortLast;
 }
Example #8
0
 public void AddSort(SortOrder order, DataField field)
 {
     sorts.Add(new TableSort(order, field, null));
 }
Example #9
0
 public TableJoin AddJoin(JoinTypes type, DataField joinField, DataField tableField)
 {
     TableJoin tj = new TableJoin(type, joinField, tableField);
     joins.Add(tj);
     return tj;
 }
Example #10
0
 public void AddField(DataField field)
 {
     this.fields.Add(field.ToString());
 }
Example #11
0
 public QueryCondition AddCondition(ConditionRelations relation, DataField field, ConditionEquality equality, object value)
 {
     if (conditions.Count == 0)
     {
         return conditions.AddCondition(ConditionRelations.First, field.ToString(), equality, value);
     }
     else
     {
         return conditions.AddCondition(relation, field.ToString(), equality, value);
     }
 }