【发布时间】:2013-05-09 01:11:56
【问题描述】:
只在数据库中存储星期几和时间保存0000-00-00 00:00:00,
预期数据应该像Monday 8:30 AM,
存储过程
CREATE DEFINER=`admin`@`192.168.21.%` PROCEDURE `AddDay`(d DATETIME)
BEGIN
INSERT INTO `tbl_days`(`day`) VALUES(d);
END
C#代码:
StringBuilder sb = new StringBuilder();
sb.Append(cmbDay.Text.Trim()).Append(" ");
sb.Append(cmbHour.Text.Trim()).Append(":");
sb.Append(cmbMinutes.Text.Trim()).Append(" ");
sb.Append(cmbTime.Text.Trim());
string day = sb.ToString();
如果我将数据类型从DATETIME 更改为VARCHAR,问题将得到解决,如何解决此问题?还是我应该只使用VARCHAR?
【问题讨论】:
-
您应该遵循最佳实践并存储为日期时间...
-
永远不要将逻辑日期/时间/等存储为 varchar。 不要这样做。
-
@Patashu,我明白了,我该如何解决这个问题?
-
@SHINHAN 带有调试器。如果
0000-00-00 00:00:00被保存到数据库中,听起来你正在尝试插入一个有效的日期,mysql 会将其转换为全 0。你的数据正确吗?在使用字符串生成器构建它们之后发送到 SQL 查询的日期是否正确?等
标签: c# mysql datetime stored-procedures