/// <summary> /// Begins a new SELECT statement with the clause as the first value returned. /// </summary> /// <param name="clause">Any valid SQL clause (DBConst, DBParam, etc.) </param> /// <returns>A new DBSelectQuery to support statement chaining</returns> public static DBSelectQuery Select(DBClause clause) { DBSelectQuery q = new DBSelectQuery(); q.SelectSet = DBSelectSet.Select(clause); q.Last = q.SelectSet; return(q); }
public static DBSelectSet SelectAggregate(AggregateFunction funct, DBClause field) { DBAggregate agg = DBAggregate.Aggregate(funct, field); DBSelectSet sel = DBSelectSet.Select(agg); sel.Last = agg; return(sel); }
/// <summary> /// Begins a new SELECT statement with the clauses as the first values returned /// </summary> /// <param name="clauses">Any valid clause (DBConst, DBParam, etc)</param> /// <returns>A new DBSelectQuery to support statement chaining</returns> public static DBSelectQuery Select(params DBClause[] clauses) { DBSelectQuery q = new DBSelectQuery(); q.SelectSet = DBSelectSet.Select(); foreach (DBClause c in clauses) { q.SelectSet.And(c); } q.Last = q.SelectSet; return(q); }
/// <summary> /// Specify one of the columns to be set when performing this insert /// </summary> /// <param name="field">Any clause</param> /// <returns>Itself so that statements can be chained</returns> public DBInsertQuery Field(DBClause field) { if (_fields == null) { _last = _fields = DBSelectSet.Select(field); } else { _last = _fields.And(field); } return(this); }
protected virtual DBClause DoRead(string element, XmlReader reader, XmlReaderContext context) { DBClause c = null; switch (element) { case (XmlHelper.Select): c = DBSelectQuery.Select(); break; case (XmlHelper.Delete): c = DBDeleteQuery.Delete(); break; case (XmlHelper.Update): c = DBUpdateQuery.Update(); break; case (XmlHelper.Insert): c = DBInsertQuery.InsertInto(); break; case (XmlHelper.Script): c = DBQuery.Script(); break; case (XmlHelper.Use): c = DBUseQuery.Use(); break; case (XmlHelper.Table): c = DBTable.Table(); break; case (XmlHelper.Fields): c = DBSelectSet.Select(); break; case (XmlHelper.AField): c = DBField.Field(); break; case (XmlHelper.AllFields): c = DBField.AllFields(); break; case (XmlHelper.From): c = DBTableSet.From(); break; case (XmlHelper.Where): c = DBFilterSet.Where(); break; case (XmlHelper.Group): c = DBGroupBySet.GroupBy(); break; case (XmlHelper.Order): c = DBOrderSet.OrderBy(); break; case (XmlHelper.Assignments): c = DBAssignSet.Assign(); break; case (XmlHelper.Values): c = DBValueSet.Values(); break; case (XmlHelper.Join): c = DBJoin.Join(); break; case (XmlHelper.Function): c = DBFunction.Function(); break; case (XmlHelper.Constant): c = DBConst.Null(); break; case (XmlHelper.Top): c = DBTop.Top(); break; case (XmlHelper.UnaryOp): c = DBComparison.Not(); break; case (XmlHelper.Compare): c = DBComparison.Compare(); break; case (XmlHelper.Between): c = DBComparison.Between(); break; case (XmlHelper.Parameter): //parameter is a special case. //we add them to akeyed colection if they are not already registered //then at the end we set the values at the end string name = reader.GetAttribute(XmlHelper.Name); DBParam aparam; if (context.Parameters.TryGetParameter(name, out aparam)) { c = aparam; } else { aparam = DBParam.Param(); aparam.Name = name; context.Parameters.Add(aparam); c = aparam; } break; case (XmlHelper.OrderBy): c = DBOrder.OrderBy(); break; case (XmlHelper.Calculation): c = DBCalc.Calculate(); break; case (XmlHelper.Aggregate): c = DBAggregate.Aggregate(); break; case (XmlHelper.ValueGroup): c = DBValueGroup.Empty(); break; case (XmlHelper.BooleanOperator): c = DBBooleanOp.Compare(); break; case (XmlHelper.Assign): c = DBAssign.Assign(); break; case (XmlHelper.InnerSelect): c = DBSubQuery.SubSelect(); break; case (XmlHelper.Multiple): c = DBMultiComparisonRef.Many(); break; case (XmlHelper.QueryOptionSet): c = new DBQueryHintOptionSet(); break; case (XmlHelper.QueryOption): c = DBQueryHintOption.QueryOption(); break; case (XmlHelper.CreateSproc): c = DBCreateProcedureQuery.CreateProcedure(); break; case (XmlHelper.Declare): c = DBDeclaration.Declare(); break; case (XmlHelper.CreateTable): c = DBCreateTableQuery.Table(); break; case (XmlHelper.ColumnDefinition): c = DBColumn.Column(); break; case (XmlHelper.PrimaryKey): c = DBPrimaryKey.PrimaryKey(); break; case (XmlHelper.ForeignKey): c = DBForeignKey.ForeignKey(); break; case (XmlHelper.CreateIndex): c = DBCreateIndexQuery.Index(); break; case (XmlHelper.CreateView): c = DBCreateViewQuery.CreateView(); break; case (XmlHelper.CreateSequence): c = DBCreateSequenceQuery.Sequence(); break; case (XmlHelper.DropTable): c = DBDropTableQuery.DropTable(); break; case (XmlHelper.DropIndex): c = DBDropIndexQuery.DropIndex(); break; case (XmlHelper.DropView): c = DBDropViewQuery.DropView(); break; case (XmlHelper.DropSproc): c = DBDropProcedureQuery.DropProcedure(); break; case (XmlHelper.DropSequence): c = DBDropSequenceQuery.DropSequence(); break; default: throw XmlHelper.CreateException("The XML data could not be deserialized because the element {1} was not recognised. {0}", reader, null, element); } if (c != null) { c.ReadXml(reader, context); } return(c); }