10

我有这样的代码:

AutoParkDataDataContext Db = new AutoParkDataDataContext();
Dailyreport dailyRep = new Dailyreport();
string time = Convert.ToDateTime("10-10-2014 15:00:00");
dailyRep.order_time = time;
Db.Dailyreports.InsertOnSubmit(dailyRep);
Db.SubmitChanges();

当我在DailyReport表格中看到它时,它只显示日期("10-10-2014 00:00:00:00"),所以时间被忽略了。我该如何解决?列类型为DateTime

4

4 回答 4

26

将日期或日期时间插入 MySQL 的一种快速/简单的方法是使用格式“yyyy-MM-dd”或日期时间为“yyyy-MM-dd H:mm:ss”。

尝试这个

DateTime theDate = DateTime.Now;
theDate.ToString("yyyy-MM-dd H:mm:ss");

让你的 SQL 看起来像这样。

insert into mytable (date_time_field) value ('2013-09-09 03:44:00');
于 2013-09-09T19:45:23.570 回答
2

您的线路:

string time = Convert.ToDateTime("10-10-2014 15:00:00");

不应该编译。

我只能猜测您在 SQL Server 中没有DateTime作为列的类型,您应该修改它以保留DateTime然后传递 DateTime 类型的对象,而不是字符串。

于 2013-09-09T19:16:52.133 回答
1

这意味着数据库中的基础数据类型必须是Date. 将其更改为DateTime,它也会存储时间。

于 2013-09-09T19:22:19.560 回答
0
DateTime dateTimeVariable = DateTime.Now;
string date = dateTimeVariable.ToString("yyyy-MM-dd H:mm:ss");

插入语句看起来像这样:

string InsertQuery   = "INSERT INTO table( `fieldName` ) VALUES ( '" + date + "' )";
于 2017-07-04T03:21:50.180 回答