void IDbSubQueryParent <DbSetSelectResultQuery <T> > .Refresh(IDbSubQuery <DbSetSelectResultQuery <T> > value) { _subQuery = value; }
internal DbSetSelectResultQuery(T query) { _query = query; _subQuery = null; }
internal DbQueryBuilder Build(DataSource ds) { if (_type == DbWhereType.Unkown) { throw new ArgumentException(); } switch (_type) { case DbWhereType.Default: { return(new DbQueryBuilder("1=1", null)); } case DbWhereType.Equal: { if (_value == null) { return(new DbQueryBuilder(string.Concat(GetName(ds), " IS NULL"), null)); } DataParameter p = GetParameter(ds); return(new DbQueryBuilder(string.Concat(GetName(ds), '=', p.GetParameterName()), p)); } case DbWhereType.NotEqual: { if (_value == null) { return(new DbQueryBuilder(string.Concat("NOT ", GetName(ds), " IS NULL"), null)); } DataParameter p = GetParameter(ds); return(new DbQueryBuilder(string.Concat(GetName(ds), "<>", p.GetParameterName()), p)); } case DbWhereType.GreaterThan: { if (_value == null) { throw new ArgumentNullException(); } DataParameter p = GetParameter(ds); return(new DbQueryBuilder(string.Concat(GetName(ds), '>', p.GetParameterName()), p)); } case DbWhereType.GreaterThanOrEqual: { if (_value == null) { throw new ArgumentNullException(); } DataParameter p = GetParameter(ds); return(new DbQueryBuilder(string.Concat(GetName(ds), ">=", p.GetParameterName()), p)); } case DbWhereType.LessThan: { if (_value == null) { throw new ArgumentNullException(); } DataParameter p = GetParameter(ds); return(new DbQueryBuilder(string.Concat(GetName(ds), '<', p.GetParameterName()), p)); } case DbWhereType.LessThanOrEqual: { if (_value == null) { throw new ArgumentNullException(); } DataParameter p = GetParameter(ds); return(new DbQueryBuilder(string.Concat(GetName(ds), "<=", p.GetParameterName()), p)); } case DbWhereType.Like: { if (_value == null) { throw new ArgumentNullException(); } DataParameter p = GetParameter(ds, string.Concat('%', Convert.ToString(_value), '%')); return(new DbQueryBuilder(string.Concat(GetName(ds), " LIKE ", p.GetParameterName()), p)); } case DbWhereType.LikeBegin: { if (_value == null) { throw new ArgumentNullException(); } DataParameter p = GetParameter(ds, string.Concat(Convert.ToString(_value), '%')); return(new DbQueryBuilder(string.Concat(GetName(ds), " LIKE ", p.GetParameterName()), p)); } case DbWhereType.LikeEnd: { if (_value == null) { throw new ArgumentNullException(); } DataParameter p = GetParameter(ds, string.Concat('%', Convert.ToString(_value))); return(new DbQueryBuilder(string.Concat(GetName(ds), " LIKE ", p.GetParameterName()), p)); } case DbWhereType.In: { if (_value == null) { throw new ArgumentNullException(); } IEnumerable e = _value as IEnumerable; if (e != null) { DataParameter p; List <string> vs = new List <string>(); List <DataParameter> ps = new List <DataParameter>(); IEnumerator array = e.GetEnumerator(); while (array.MoveNext()) { p = GetParameter(ds, array.Current); vs.Add(p.GetParameterName()); ps.Add(p); } return(new DbQueryBuilder(string.Concat(GetName(ds), " IN (", string.Join(",", vs.ToArray()), ')'), ps.ToArray())); } IDbSubQuery <DbWhere> q = _value as IDbSubQuery <DbWhere>; if (q != null) { DbQueryBuilder builder = q.Build(ds, 0, false); return(new DbQueryBuilder(string.Concat(GetName(ds), " IN (", builder.Sql, ')'), builder.Parameters)); } throw new NotSupportedException(); } } throw new NotSupportedException(); }
void IDbSubQueryParent <DbWhere> .Refresh(IDbSubQuery <DbWhere> value) { Refresh(value); }
internal void Refresh(IDbSubQuery <DbWhere> value) { _value = value; }
void IDbSubQueryParent <DbInsertQuery <T> > .Refresh(IDbSubQuery <DbInsertQuery <T> > value) { _subQuery = value; }
internal DbInsertQuery(DbQuery <T> query, params DbColumn[] columns) { _query = query; _insert = columns; _subQuery = null; }