第四天上班

重新使用已有代码实现首页“经验共享”功能。
传入提取数据行数,默认7条。 -1 为全部。
oracle这点让人很郁闷。

SELECT TFAQ_MAIN.* FROM TFAQ_MAIN ORDER BY TFAQ_MAIN.SUBDT DESC Nulls FIRST

以上这条语句,提取全部数据,并按时间排序。结果显示正常。


第四天上班_第1张图片
正常结果

但是如果加上 where rownum<=7

SELECT TFAQ_MAIN.* FROM TFAQ_MAIN where rownum<=7 ORDER BY TFAQ_MAIN.SUBDT  DESC Nulls FIRST 

结果显示如下:

第四天上班_第2张图片
无法取到最新的数据

无法取到最新的数据。。这是为什么呢??

百度了下,找到如下解决方法:

select * from 
(SELECT TFAQ_MAIN.* FROM TFAQ_MAIN  ORDER BY TFAQ_MAIN.SUBDT  DESC Nulls FIRST ) 
where rownum<=7
第四天上班_第3张图片
结果又正常了!!

但是这样不是特别损耗性能吗?如果这张表数据量特别大呢?几百万条数据,难道都先取出来排序,再取头7条?

已删除以下页面。因为调用已存在的其它板块相同功能。
ProjectExperience.cs

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Nrec.WebData
{
    public class ProjectExperience:ModelBase
    {
        [DisplayName("经验编号")]
        [DataTableAttribute("经验编号")]
        public string Guid { get; set; }
        [DisplayName("产品大类")]
        [DataTableAttribute("产品大类")]
        public string Ptype { get; set; }
        [DisplayName("产品小类")]
        [DataTableAttribute("产品小类")]
        public string Stype { get; set; }
        [DisplayName("问题描述")]
        [DataTableAttribute("问题描述")]
        public string Question { get; set; }
        [DisplayName("更新时间")]
        [DataTableAttribute("提交日期")]
        public string Subdt { get; set; }
        [DisplayName("经验类别")]
        [DataTableAttribute("经验类别")]
        public string Faqtype { get; set; }

        /// 
        /// 数据访问器
        /// 
        private static DataProvider _dataProvider = new DataProvider();
        /// 
        /// 获得经验共享(首页)
        /// 
        ///  GetExperienceShareList()
        public static ObservableCollection GetIndexExperienceShareList(int rows)
        {
            var data = _dataProvider.GetExperienceShareList(rows);
            return data;
        }

    }
}

ASP.NET MVC 视图(view)界面添加 下拉列表(dropdownlist)默认值。

DropDownList添加默认值
 @Html.DropDownList(" ", ViewData["experiencetKindlist"] as IEnumerable, "--请选择--", new { @class = "announcementscreen", id = "exper_type", width = "165px" })

你可能感兴趣的:(第四天上班)