mysql的时间在cmd的输入格式_获取“System.FormatException:输入字符串的格式不正确。”在日期时间对象插入到MySql数据库...

我正在使用C#与Mvvm Light和Mysql数据库的应用程序。当我做一个插入到数据库与对象是一个DateTime对象,我收到以下错误的参数:获取“System.FormatException:输入字符串的格式不正确。”在日期时间对象插入到MySql数据库

System.FormatException: Input string was not in a correct format.

at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)

at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)

at System.String.System.IConvertible.ToInt32(IFormatProvider provider)

at System.Convert.ToInt32(Object value)

at MySql.Data.Types.MySqlInt32.MySql.Data.Types.IMySqlValue.WriteValue(MySqlPacket packet, Boolean binary, Object val, Int32 length)

at MySql.Data.MySqlClient.MySqlParameter.Serialize(MySqlPacket packet, Boolean binary, MySqlConnectionStringBuilder settings)

at MySql.Data.MySqlClient.Statement.SerializeParameter(MySqlParameterCollection parameters, MySqlPacket packet, String parmName, Int32 parameterIndex)

at MySql.Data.MySqlClient.Statement.InternalBindParameters(String sql, MySqlParameterCollection parameters, MySqlPacket packet)

at MySql.Data.MySqlClient.Statement.BindParameters()

at MySql.Data.MySqlClient.PreparableStatement.Execute()

at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)

at MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery()

下面是我的视图模型的代码(proj.ProjectStartDate是一个DateTime对象):

DateTime startDate = projectStartDateProperty?? DateTime.Now;

string startStr = startDate.ToString("d");

DateTime projStart = Convert.ToDateTime(startStr);

DateTime endDate = projectEndDateProperty ?? DateTime.Now;

string endStr = endDate.ToString("d");

DateTime projEnd = Convert.ToDateTime(endStr);

proj.ProjectName = _projName;

proj.ProjectStartDate = projStart;

proj.ProjectEndDate = projEnd;

proj.ProjectNotes = _projNotes;

ProjectDbInteraction.InsertProject(_projName, proj);

设置在proj.ProjectEndDate结果一个破发点是

k4p0Z.png

而且下面是我对插入到MySQL数据库的型号代码:

string connStr = "server=*****;database=" + projName + ";user=*****;port=*****;password=*****;";

MySqlConnection conn = new MySqlConnection(connStr);

MySqlCommand cmd;

string queryInsertintoProjTable;

try

{

conn.Open();

cmd = new MySqlCommand("INSERT INTO " + projName +

".project(ProjectID,ProjectName,ProjectStartDate,ProjectEndDate,ProjectNotes) VALUES("

+ "(?projectid, ?projectnamecolumn,?projectstartdatecolumn,?projectenddatecolumn,?projectnotescolumn);", conn);

cmd.Parameters.AddWithValue("?projectid", MySqlDbType.Int32).Value = proj.ProjectID;

cmd.Parameters.AddWithValue("?projectnamecolumn", MySqlDbType.VarChar).Value = proj.ProjectName;

cmd.Parameters.AddWithValue("?projectstartdatecolumn", proj.ProjectStartDate.ToString("yyyy-MM-dd HH:mm:ss"));

cmd.Parameters.AddWithValue("?projectenddatecolumn", proj.ProjectEndDate.ToString("yyyy-MM-dd HH:mm:ss"));

cmd.Parameters.AddWithValue("?projectnotescolumn", MySqlDbType.VarChar).Value = proj.ProjectNotes;

cmd.ExecuteNonQuery();

conn.Close();

}

catch (Exception e)

{

Console.WriteLine(e.ToString());

}

那么,我需要做什么来解决这个问题呢?这是我第一次使用MySql。

2014-12-02

yams

+0

从这里的MySQL文档:http://dev.mysql.com/doc/refman/5.1/en/datetime.html,DateTime格式应该在'YYYY-MM-DD HH:MM:SS' –

2014-12-02 18:17:13

+0

我很欣赏那个萨吉奥。 –

2014-12-02 18:23:04

+0

但我确实有一个问题,我不能将字符串推入数据库。如果我将它转换回日期时间对象,它会将其转换回UTC,所以如何在不发生这种情况的情况下将它重新插入数据库? –

2014-12-02 18:26:07

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值