static string GetSelectSql(AnyDbConnection cnn, Select query) { ISqlOmRenderer renderer = Qb.CreateRenderer(cnn.DatabaseProvider); string sql = renderer.RenderSelect(query); return(sql); }
public DbDataReader ExecuteReader(Select query, CommandBehavior behavior) { ISqlOmRenderer render = Qb.CreateRenderer(_anyConnection.DatabaseProvider); _dbCommand.CommandText = render.RenderSelect(query); _dbCommand.CommandType = CommandType.Text; FillParameters(_dbCommand, query.Query.CommandParams, render); return(ExecuteReader(behavior)); }
public object ExecuteScalar(Select query) { ISqlOmRenderer render = Qb.CreateRenderer(_anyConnection.DatabaseProvider); _dbCommand.CommandText = render.RenderSelect(query); _dbCommand.CommandType = CommandType.Text; FillParameters(_dbCommand, query.Query.CommandParams, render); return(ExecuteScalar()); }
//public string GetSqlRowCount(Select query) //{ // ISqlOmRenderer renderer = Qb.CreateRenderer(AnyDbSetting.DatabaseProvider); // return renderer.RenderRowCount(query); //} //public string GetSql(Select query, int pageIndex, int pageSize, int totalCount) //{ // ISqlOmRenderer renderer = Qb.CreateRenderer(AnyDbSetting.DatabaseProvider); // return renderer.RenderPage(pageIndex, pageSize, totalCount, query); //} public string GetSql(Select query) { ISqlOmRenderer renderer = Qb.CreateRenderer(AnyDbSetting.DatabaseProvider); return(renderer.RenderSelect(query)); }
/// <summary> /// Renders a single WhereTerm /// </summary> /// <param name="builder"></param> /// <param name="term"></param> protected virtual void WhereClause(StringBuilder builder, WhereTerm term) { if (term.Type == WhereTermType.Compare && term.Op == CompCond.BitwiseAnd) { BitwiseAnd(builder, term); } else if (term.Type == WhereTermType.Compare) { Expression(builder, term.Expr1); builder.Append(" "); Operator(builder, term.Op); builder.Append(" "); Expression(builder, term.Expr2); if (term.Op == CompCond.Like && term.Expr3 != null) { builder.AppendFormat(" escape '{0}'", Convert.ToString(((OmConstant)term.Expr3.Value).Value)); } } else if (term.Type == WhereTermType.In || term.Type == WhereTermType.NotIn || term.Type == WhereTermType.InSubQuery || term.Type == WhereTermType.NotInSubQuery) { Expression(builder, term.Expr1); if (term.Type == WhereTermType.NotIn || term.Type == WhereTermType.NotInSubQuery) { builder.Append(" not"); } builder.Append(" in ("); if (term.Type == WhereTermType.InSubQuery || term.Type == WhereTermType.NotInSubQuery) { if (term.SubQuery is SelectQuery) { ISqlOmRenderer innerRender = this.CreateNew(); builder.Append(innerRender.RenderSelect(term.SubQuery as SelectQuery)); } else if (term.SubQuery is string) { builder.Append((string)term.SubQuery); } else { throw new InvalidQueryException(SR.Err_SubQueryUnavelable); } } else { ConstantList(builder, term.Values); } builder.Append(")"); } else if (term.Type == WhereTermType.Exists || term.Type == WhereTermType.NotExists) { if (term.Type == WhereTermType.NotExists) { builder.Append(" not"); } builder.Append(" exists ("); if (term.SubQuery is SelectQuery) { ISqlOmRenderer innerRender = this.CreateNew(); builder.Append(innerRender.RenderSelect(term.SubQuery as SelectQuery)); } else if (term.SubQuery is string) { builder.Append((string)term.SubQuery); } else { throw new InvalidQueryException( #if !TEST SR.Err_SubQueryUnavelable #else "" #endif ); } builder.Append(")"); } else if (term.Type == WhereTermType.Between) { Expression(builder, term.Expr1); builder.AppendFormat(" between "); Expression(builder, term.Expr2); builder.AppendFormat(" and "); Expression(builder, term.Expr3); } else if (term.Type == WhereTermType.IsNull || term.Type == WhereTermType.IsNotNull) { Expression(builder, term.Expr1); builder.Append(" is "); if (term.Type == WhereTermType.IsNotNull) { builder.Append("not "); } builder.Append(" null "); } }