예제 #1
0
 private R Build <R>(DataSource ds, R builder) where R : DbQueryBuilder
 {
     if (_where != null)
     {
         builder.Append(" WHERE ").Append(_where.Build(ds));
     }
     return(builder);
 }
예제 #2
0
        DbQueryBuilder IDbSubQuery <R> .Build(DataSource ds, long top, bool join)
        {
            DbQueryBuilder builder = _query.Build(ds, top, join);

            if (_where != null)
            {
                builder.Append(" WHERE ").Append(_where.Build(ds));
            }
            return(builder);
        }
예제 #3
0
        DbQueryBuilder IDbUpdateQuery.Build(DataSource ds, ref int count)
        {
            DbQueryBuilder builder = _query.Build(ds, ref count);

            if (_where != null)
            {
                builder.Append(" WHERE ").Append(_where.Build(ds));
            }
            return(builder);
        }
예제 #4
0
        public int Execute()
        {
            StringBuilder        sb = new StringBuilder();
            List <DataParameter> ps = new List <DataParameter>();

            sb.Append("DELETE FROM ");
            sb.Append(_query.Query.Provider.EscapeName(DbTable.GetTableName <T>()));
            if (_where != null)
            {
                DbQueryBuilder builder = _where.Build(_query.Query.DataSource);
                sb.Append(" WHERE ").Append(builder.Sql);
                ps.AddRange(builder.Parameters);
            }
            sb.Append(';');
            return(_query.Query.DataSource.ExecuteNonQuery(sb.ToString(), ps.ToArray()));
        }