插入数据库的日期变为0000

时间:2015-10-01 13:15:31

标签: c# mysql winforms xampp

所以这是我的代码

cmd.CommandText = "insert into tbl_project (`sampleField`) values(@sample)";
                cmd.Parameters.AddWithValue("@sample", DateTime.Now.ToString());

这就是发生的事情。 当我在通过xampp拥有数据库的Unit上运行我的解决方案/项目时。我可以完美地将正确的日期放在数据库上。 但是当从不同的单元运行解决方案/项目并远程访问数据库时。保存到我的数据库的日期变为0000,而不是正确的日期。如何解决这个问题。请帮忙。 BTW。我可以完美地在数据库中远程插入字符串和数字。唯一的问题是日期。它变为空或0000。

1 个答案:

答案 0 :(得分:2)

您不应将日期转换为字符串。如果这样做,结果取决于运行代码的计算机上的区域性设置。

将参数添加为DateTime:

cmd.Parameters.Add("@sample", SqlDbType.DateTime).Value = DateTime.Now;

最好使用Parameters.Add代替AddWithValue,因为它可以让您明确指定参数的数据类型。