예제 #1
0
        public virtual string GetBaseSelectCommandText(TableFilter filter, bool excludeWhere)
        {
            var select = new StringBuilder();

            select.Append("SELECT ");
            if (filter != null || filter.IsColumnFiltered)
            {
                filter.WriteColumnsProjection(select);
            }
            else
            {
                select.Append('*');
            }
            select.Append(" FROM ");
            select.Append(QuotedName);
            if (filter != null && filter.IsRowFiltered && !excludeWhere)
            {
                select.Append(" WHERE ");
                filter.WriteWhereStatement(select);
            }
            return(select.ToString());
        }
예제 #2
0
        public virtual int GetRowCount(TableFilter filter)
        {
            var count = -1;

            using (var command = Database.CreateCommand()) {
                var sql = new StringBuilder();
                sql.Append("SELECT COUNT(*) FROM ");
                sql.Append(QuotedName);

                if (filter != null && filter.IsRowFiltered)
                {
                    sql.Append(" WHERE ");
                    filter.WriteWhereStatement(sql);
                }

                command.CommandText = sql.ToString();
                using (Database.CreateConnectionScope()) {
                    count = Convert.ToInt32(command.ExecuteScalar());
                }
            }
            return(count);
        }