private void GetAllTableColumn(QColumnBase column, List <QTableColumn> list) { if (column._columnType == Enums.ColumnType.Code) { return; } if (column._columnType == Enums.ColumnType.None) { return; } if (column._columnType == Enums.ColumnType.Value) { return; } if (column._columnType == Enums.ColumnType.Column) { list.Add((QTableColumn)column); return; } var args = column._functionArgs; if (args == null) { return; } foreach (var item in args) { if (item is QColumnBase) { GetAllTableColumn((QColumnBase)item, list); } } }
public virtual string Delete(List <QTable> tables, QColumnBase pk, string tableName, string fromtable, string jointables, string where) { if (object.Equals(pk, null)) { throw new NoPrimaryKeyException(); } var pk1 = ((IColumnConvert)pk).ToSql(this, 1); var pk2 = ((IColumnConvert)pk).ToSql(this, tables.Count); return($"DELETE {tableName} WHERE {pk1} IN (SELECT {pk2} FROM {fromtable} {jointables} WHERE {where});"); }
/// <summary> /// 获取数量 /// </summary> /// <param name="distinctColumn">列</param> /// <returns></returns> public int SelectCount(QColumnBase distinctColumn) { return(GetSqlBuilder().SelectCount(distinctColumn)); }
protected static QCondition CreateCondition(QColumnBase col1, string op, object col2) { return(new QColumnValueCondition(col1, op, col2)); }
/// <summary> /// 累加到【Order By】语句 /// </summary> /// <param name="column">列</param> /// <param name="orderType">order类型</param> /// <returns></returns> public QTable <T> OrderBy(QColumnBase column, OrderType orderType = OrderType.Asc) { GetSqlBuilder().OrderBy(column, orderType); return(this); }
/// <summary> /// 累加到【Group By】语句 /// </summary> /// <param name="column">列</param> /// <param name="columns">列</param> /// <returns></returns> public QTable <T> GroupBy(QColumnBase column, params QColumnBase[] columns) { GetSqlBuilder().GroupBy(column, columns); return(this); }