无法修改数据集
本文关键字:数据集 修改 | 更新日期: 2023-09-27 17:51:02
这是我的一段c#代码
if (dsResult != null && dsResult.Tables[0].Rows.Count > 0)
{
foreach (DataRow dr in dsResult.Tables[0].Rows)
{
dr["Date"] = Convert.ToDateTime(dr["Date"]).ToString("yyyy-MM-dd");
}
}
dsResult.Tables[0].AcceptChanges();
我要做的是数据集有一个格式d/m/yyyy的Date
,我试图修改数据格式yyyy-MM-dd
,但我的数据集没有更新。
日期的存储方式和显示方式是完全不同的两件事。例如,它在DataTable
中显示为1/7/2013 00:00:00 AM
的原因是因为它根据您的区域性设置显示DateTime
的默认显示。
然而,这通常不是您想要的显示方式,因此有许多方法可以为这只猫添加皮肤,但我将给您提供几种方法。首先,您可以简单地更改应用程序的文化,以便在默认情况下以您想要的方式显示。
CultureInfo culture = (CultureInfo)CultureInfo.CurrentCulture.Clone();
culture.DateTimeFormat.ShortDatePattern = "yyyy-MM-dd";
Thread.CurrentThread.CurrentCulture = culture;
现在,当你显示DateTime
的值时你会得到默认的文化当你发出例如:
var dt = new DateTime();
dt.ToShortDateString(); // here is where the culture is used
你可能还会发现在你的应用程序中有一个特定的位置,你需要以某种方式显示它,你可以这样做:
var dt = new DateTime();
dt.ToString("dd-MM-yyyy"); // custom formatting on the fly
所以,简而言之,不需要在DataTable
中更改。无论如何显示值是相同的