我需要将信用卡的到期日期插入数据库。
但我只有日期和年份下拉。月份没有下降。
如果我使用这种方式然后它会出错,因为没有月份dateformat是错误的。
cmd.Parameters.AddWithValue("@ExpirationDate", dobday.Value & "-" & dobyear.Value)
请建议我如何将其插入数据库。
答案 0 :(得分:3)
您有三种选择。
第一种是修改数据库,使到期日期为char(4)。然后将其存储为MMYY。您不需要短划线甚至是日间部分进行处理。
第二个选项是修改您的查询,以便将日期部分传递为“1”。因此,在12月或2012年到期的CC将是12/1/2012。当然,你的代码应该在你使用它的时候放弃。
就个人而言,我会选择三。根本不要存放它。在任何数据库中存储cc细节都没有理由。几乎所有CC事务提供商都提供了更好的方法来处理重复交易,而您的系统无需保留该信息。如果你正在与一个没有的人合作,那么就改变提供者,因为他们已经落后于时代。否则你正在玩火。
答案 1 :(得分:0)
(来自评论)
是的,不要那样做。如果数据类型为列的数据类型是datetime但是在这里我试图通过使它们成为字符串
来插入
datetime
,则构建DateTime
:
var expiry = new DateTime(/* whatever you need here using dobday / dobyear */);
cmd.Parameters.AddWithValue("@ExpirationDate", expiry);