【问题标题】:Fetching data using last Datetime使用最后一个日期时间获取数据
【发布时间】:2012-10-19 11:23:59
【问题描述】:

我必须在网格视图中将这些详细信息显示为 Tempname 作为下拉列表中的唯一且关联的日期时间,并在标签中按名称显示最后一次运行。由于我没有足够的声誉,无法上传表格图片。

私人无效网格加载() { 数据集 ds = new DataSet(); ds = Common.LoadingGrid(); GridView1.DataSource = ds; GridView1.DataBind(); } protected void GridView1_RowDataBound(对象发送者,GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { 数据集 ds = new DataSet(); 标签 lblName = e.Row.FindControl("Label1") as Label; ds = Common.RunByDate(lblName.Text); DropDownList ddl = e.Row.FindControl("DropDownList1") as DropDownList; ddl.DataTextField = "运行日期"; ddl.DataValueField = "运行日期"; ddl.DataSource = ds; ddl.DataBind(); var items = ddl.Items; } }

但我无法在标签中获取 Runby 名称。我该如何显示它?下面是我的存储过程

从 SV_JobHistoryTable 中选择不同的 TempName 选择临时名称,运行日期 FROM SV_JobHistoryTable 其中 TempName=@tempname

【问题讨论】:

  • Runby 名称列在哪个表中?
  • 这是表名 SV_JobHistoryTable

标签: c# asp.net sql sql-server stored-procedures


【解决方案1】:

到目前为止,我所了解的是,您想获得 Unique TempNameLastest RunDate,您只需要这个查询:

SELECT RunByName, MAX(RunDate)
FROM SV_JobHistoryTable  
WHERE TempName = @tempname 
GROUP BY RunByName

【讨论】:

  • Not MAX(RunDate) 我得到了除了网格视图中的 Runby 名称之外的所有内容
  • 什么是RunBy Name,是不是表SV_JobHistoryTable的单独列名?
  • 是的,它是表格中的一列
  • 虽然我仍然很困惑 TempName 和 RunByName 之间有什么区别,但请参阅我编辑的答案。希望这有助于根据最新的 RunDate 获取 RunBy Name。
【解决方案2】:

试试这个:

SELECT TempName,RunDate,max(Runbyname)
    FROM SV_JobHistoryTable  where TempName=@tempname 
    group by TempName,RunDate

【讨论】:

  • 如果我这样做,我不会得到不同的 TempName。无论如何,我得到的是不同的 TempName,我的问题是获取最后一个 RunBy 名称并将其绑定到网格
  • 每个运行日期都与名称相关联
【解决方案3】:

这是你想要的吗?

    SELECT TOP 1
         RunByName, RunDate
    FROM 
        SV_JobHistoryTable 
    WHERE 
        TempName = @tempname                    
    ORDER BY 
        RunDate DESC    

或者您想记录多个条目?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-19
    • 2013-05-09
    • 1970-01-01
    • 2012-05-29
    • 1970-01-01
    • 2021-09-08
    • 1970-01-01
    相关资源
    最近更新 更多