我在我的mysql数据库表中有一列,其数据类型为Datetime
。现在我的c#代码中有一个字符串,值为17/04/2014
。所以我的问题是我该如何插入这个值放到我的日期时间列中。如何将字符串值保存为Mysql中的日期时间使用c#
请帮助我..
我在我的mysql数据库表中有一列,其数据类型为Datetime
。现在我的c#代码中有一个字符串,值为17/04/2014
。所以我的问题是我该如何插入这个值放到我的日期时间列中。如何将字符串值保存为Mysql中的日期时间使用c#
请帮助我..
下面的例子转换日期字符串使用ParseExact方法DATETIME。
如果你能保证日期总是会在一个给定的格式,那么你可以使用ParseExact()
string dateString, format;
DateTime result;
CultureInfo provider = CultureInfo.InvariantCulture;
format ="dd/MM/yyyy";
dateString = "17/04/2014";
result = DateTime.ParseExact(dateString, format, provider);
EDITED
与此
cmd.CommandText = "insert into processeddata_table values(STR_TO_DATE('" + calldate + "','%d-%m-%Y'),'" + calltime + "','" + source + "','" + dialedno + "','" + extension + "','" + trunk + "','" + duration + "','" + toc + "','" + cost + "','" + site + "','" + callstatus + "','" + location + "','" + incomingcallduration + "','" + transfercallduration + "','" + outgoingcallduration + "','" + ringingduration + "','" + confereneceduration + "','" + empid + "','" + Department + "')";
替换命令文本
但这个问题的矫枉过正。 MySQL将它保存在自己的格式中? – TheGeekZn
@NewAmbition - 根本没有矫枉过正。 'DateTime.ParseExact'是从字符串到'DateTime'的首选方式。 MySQL客户端应该采用'DateTime',而不是一个字符串。 MySQL如何实际存储它并不相关,但很可能是二进制格式。 –
我prefere'DateTime.ParseExact'因为一些区域设置具有不同的不同日期时间格式,所以每次'Convert.Todatetime()'不工作 –
冯·可以这样做:
string date="17/04/2014";
DateTime dt = Convert.ToDateTime(date);
您应该提供一个'IFormatProvider',或使用ParseExact。因为如果提供者为空,则使用当前文化的DateTimeFormatInfo。这意味着'01/02/2014'可能是1月2日或2月1日,除非你知道当前的文化是什么,否则你不知道它是否会按预期工作。 –
你是对的,谢谢你纠正 –
有很多方案&解决方案涉及到你的问题。
根据输入,有两种方法。
DateTime strDate = DateTime.Parse("17/04/2014");
//像你的情况,DD/MM/YYYY具体格式:
DateTime strDateWithFormat = DateTime.ParseExact(strDate, "dd/MM/yyyy",null);
U可以包括在问题insert语句 –
@GujjuDeveloper先生,我已经更新了我的职务与代码,请看到它.. – Laxman
编辑的答案检查新的命令文本 –