日期值不正确:对于列'日期'在第1排?

时间:2017-07-11 02:46:04

标签: c# mysql

我使用Asp.net创建了一个rest web api。当我尝试使用帖子向我的表格插入数据时,我收到了这个例外:日期值不正确:' 07/11/2017 12:00:00 AM'对于列'日期'在第1行。插入Mysql数据库的正确日期值是什么?

public long addmeterreadingrecord(meterreadingrecords meterreadingrecord )
{
  MySqlConnection myconn = getDBConn();
  String sqlstr = 
  "INSERT INTO meterreadingrecords (ID,Date,User,ImageLink,ActualMeterReadingID) VALUES ('" 
          + meterreadingrecord.Id + "','" + meterreadingrecord.Date + "','" 
          + meterreadingrecord.User + "','" + meterreadingrecord.Imagelink+"','"
          + meterreadingrecord.ActualmeterreadingId+"')";
        MySqlCommand cmd = new MySqlCommand(sqlstr, myconn);
        myconn.Open();
        cmd.ExecuteNonQuery();
        myconn.Close();
        myconn.Dispose();
        long id = cmd.LastInsertedId;
        return id;
    }

我如何使用rest客户端插入数据。

{
"ID" : "zzz",
"Date": "11/07/2017",
"User" : "Me",
"ImageLink" : "testimg",
"ActualMeterReadingID" : "ccc"
}

mysql db中日期的数据类型是Date。不是DateTime。

2 个答案:

答案 0 :(得分:0)

MySQL expects a four digit year followed by a two-digit month and a two-digit day.昨天的日期(7月9日)是:

'2017-07-09'

MySQL确实为备用格式做了一些限制(包括接受:作为分隔符),但它仍然希望格式为年 - 月 - 日。此标准的值11/07/2017不能是正确的日期。为了解决这个问题,您需要使用STR_TO_DATE

STR_TO_DATE('11/07/2017', '%d/%m/%Y')

另外,作为参考,this is a list of valid date string % variables.

答案 1 :(得分:0)

  

MySQL以'YYYY-MM-DD'格式

检索并显示DATE值

The DATE, DATETIME, and TIMESTAMP Types