Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 数据表和日期列操作_C#_Ado.net_Datatable_Datetime Format - Fatal编程技术网

C# 数据表和日期列操作

C# 数据表和日期列操作,c#,ado.net,datatable,datetime-format,C#,Ado.net,Datatable,Datetime Format,我正在开发一个数据库驱动的c#应用程序 我有一个数据表,其中有一个日期列。将此datatable绑定到datagridview,让用户编辑记录,然后单击“保存”,将这些更改保存到数据库中 网格中的日期格式根据系统设置在dd/MM/yyyy和MM/dd/yyyy之间进行更改 数据输入操作员不够聪明,无法看到这种差异,因此在编辑记录时,他们有时会将记录移动到不同的月份 日期格式为2010年10月10日dd/MM/yyyy 他们想将其从10月10日改为10月12日。假设日期格式为MM/dd/yyyy,

我正在开发一个数据库驱动的c#应用程序

我有一个数据表,其中有一个日期列。将此datatable绑定到datagridview,让用户编辑记录,然后单击“保存”,将这些更改保存到数据库中

网格中的日期格式根据系统设置在
dd/MM/yyyy
MM/dd/yyyy
之间进行更改

数据输入操作员不够聪明,无法看到这种差异,因此在编辑记录时,他们有时会将记录移动到不同的月份

日期格式为2010年10月10日dd/MM/yyyy

他们想将其从10月10日改为10月12日。假设日期格式为
MM/dd/yyyy
,他们进行了此更改
10/12/2010

始终存在此问题,因此我想修复datatable中的日期格式

我可以使用哪些方法?

使用此代码

var style = new DataGridViewCellStyle();
style.Format = "dd-MMM-yy";
colDate.DefaultCellStyle = style;

您不需要来回转换它,它将完成您想要实现的所有事情,

您是否将列数据类型设置为DateTime?我不明白为什么会发生这个问题。在内部,.NET应将此单元格值保存为DateTime,并将其传递给数据库。日期格式不是问题。

日期格式是UI问题,而不是持久性问题。如果日期存储在
DATETIME
列中,那么对于数据库来说就是这样。修复UI。在列属性
DefaultCellStyle
中,可以将格式设置为
MM/dd/yyyy