2013-07-09 38 views
0

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

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

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"); 
} 
+0

您是否尝试使用MessageBox.Show或Response.Write检查值? – Learner

回答

0

你可以做这样的事情,无论你有多运行其他列的一个可能被解析为一个DateTime的风险,并获得格式MM-DD-YY。个人会重做你的迭代。如果您正在选择查询中的所有列,并且它是静态的并且不会更改(我不太可能知道这一点,但在此输出所有选项),您可以根据第二个循环中显示的列名进行迭代这个帖子。

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() + "")); 
    } 
} 
+0

工作出色。我打电话给所有的专栏,现在它是静态的。谢谢。 – user2566242

+0

很高兴能帮到你! – Bearcat9425