尝试通过C#将日期插入到.accdb中,但数据出错了
c#
我试图运行这个 sql
insert into Registration (sn, regDate) values ('RS5044737',Format('2021/06/15 10:22:20', 'yyyy/mm/dd hh:nn:ss'));
但在我的 .accdb 文件中,数据出错了:
我不知道为什么年份变成了1478......
环境:
C# 2008
访问 2007
回答
如果你使用参数就不会发生
insert into Registration (sn, regDate) values (?, ?);
和
command.Parameters.AddWithValue("n", "RS5044737");
command.Parameters.AddWithValue("d", new DateTime(2021,6,15,10,22,20));
以相同的顺序添加参数?出现在声明中。
始终,始终使用参数。它可以防止:
- 像你得到的数据错误
- 如果您尝试在人名中插入撇号,则会随机崩溃
- 你因严重破坏安全而被解雇
如果升级到 SQLserver,请不要使用AddWithValue(但始终使用参数)