mysql如何显示来自两个不同表的日期?

发布时间: 2016/10/18 5:17:33
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

在 DataView 中我表现从两个不同数据库表中的两个日期。服务日期从维护表和清单日期从 fleetchecklist 表。 这两列被称为日期在数据库表中。问题是它只显示一个日期 (清单)。服务日期应该说 2015/6/14。

enter image description here

SQL 查询的工作我在 MySql Workbench 中运行它时

 SELECT checklistitem.*,
          cl.Date As ChecklistDate,
          m1.Date AS Date
    FROM checklistitem
    LEFT JOIN maintenance m1 ON m1.CheckListID 
    LEFT JOIN Vehicle v ON m1.LinkedID = v.ID
    LEFT JOIN Trailer t ON m1.LinkedID = t.ID 
    LEFT JOIN GeneralSmall gs ON m1.TypeID = gs.ID
    LEFT JOIN fleetchecklist cl ON m1.ChecklistID = cl.ID
    WHERE m1.Company_ID = 129

在日期的其他代码是︰

    public DateTime Date { get; set; }
    public DateTime ChecklistDate { get; set; }

    protected override void FillObject(DataRow dr)
   {
                    if (dr["Date"] != DBNull.Value)
                        Date = Convert.ToDateTime(dr["Date"]);
                    if (dr["ChecklistDate"] != DBNull.Value)
                        Date = Convert.ToDateTime(dr["ChecklistDate"]);
   }



 <asp:BoundField DataField="Date" HeaderText="Service Date" SortExpression="Date"  dataformatstring="{0:dd/MM/yyyy}"></asp:BoundField>
<asp:BoundField DataField="Date" HeaderText="Checklist Date" SortExpression="ChecklistDate"  dataformatstring="{0:dd/MM/yyyy}"></asp:BoundField> 

解决方法 1:

您正在向同一日期属性分配清单日期和服务日期。这应该工作︰

public DateTime Date { get; set; }
public DateTime ChecklistDate { get; set; }

protected override void FillObject(DataRow dr)
{
    if (dr["Date"] != DBNull.Value)
        Date = Convert.ToDateTime(dr["Date"]);
    if (dr["ChecklistDate"] != DBNull.Value)
        ChecklistDate = Convert.ToDateTime(dr["ChecklistDate"]);
}


<asp:BoundField DataField="Date" HeaderText="Service Date" SortExpression="Date"  dataformatstring="{0:dd/MM/yyyy}"></asp:BoundField>
<asp:BoundField DataField="ChecklistDate" HeaderText="Checklist Date" SortExpression="ChecklistDate"  dataformatstring="{0:dd/MM/yyyy}"></asp:BoundField> 
官方微信
官方QQ群
31647020