0

我正在将数据库中的几行写入文本文档。除了日期字段外,我已经设置了所有内容。我需要将其更改为 MM-dd-yy,但我不断得到的结果是数据库中的默认值,即 MM/dd/yyy HH:mm:ss(2013 年 7 月 8 日下午 2:01:05)。日期列位于表格的中间,我一直在尝试我能想到的一切,从添加 if 语句到将其分成三个部分,但没有一个只是更改日期列。下面是我如何提取数据并写入数据。然后显示 2 个整数、一个字符串、日期、一个字符串和一个整数。订单很好,只是更改日期。

编辑:它写入了所有正确的数据,只是没有按照我想要的方式显示日期。

foreach (DataRow row in jackTDataSet.Tables[0].Select(quer))
{
    foreach (object item in row.ItemArray)
    {
            writer.Write(String.Format("{0,-10}", item.ToString() + ""));
    }
    writer.WriteLine("\t");
}
4

1 回答 1

0

你可以做这样的事情,你如何冒其他列之一可能被解析为日期时间的风险,并被格式化为 MM-dd-yy。个人会在这方面重新设计你的迭代。如果**您正在选择查询中的所有列并且它是静态的并且不会更改(我不太可能知道,但在这里列出所有选项)您可以根据第二个 for 循环中显示的列名进行迭代这个帖子。

foreach (object item in row.ItemArray)
{
     DateTime parsed;
     if (DateTime.TryParse(item.ToString(), out parsed))
     {
          writer.Write(String.Format("{0,-10}", parsed.ToString("MM-dd-yy") + ""));
     }
     else 
     {
          writer.Write(String.Format("{0,-10}", item.ToString() + ""));
     }
}



foreach (DataColumn col in jackTDataSet.Tables[0].Columns)
{
     if (col.ColumnName == "Name of date Field ")
     {
         writer.Write(String.Format("{0,-10}", ((DateTime)row[col.ColumnName]).ToString("MM-dd-yy") + ""));
     }
     else 
     {
         writer.Write(String.Format("{0,-10}", row[col.ColumnName].ToString() + ""));
     }
}
于 2013-07-09T22:11:41.480 回答