现在的位置: 首页 > 综合 > 正文

MS Access 数据库操作使用OledbParameter出现的怪异问题

2012年10月30日 ⁄ 综合 ⁄ 共 323字 ⁄ 字号 评论关闭

  今天,我试图解决前段时间在开发诗年华网站中遇到的使用Oledb对Access数据库操作时出现的参数类型不匹配的问题,在写了几段示例代码并查阅了相关网络文章后发现,问题并不在这里。

  首先,我是使用反射根据实体自动生成OledbParameter的,数据类型肯定不会出现异常……其次,在我使用Sql拼接后数据类型都对上了,这就是没有问题的。

  上面都是废话!真正的干货是:OledbParameter 是按照出现顺序而不是名称来执行的。引用一句网友的话:Maybe not a bug... but it still sucks! 

  关于这个问题的解决办法有两个,一是拼接Sql字符串;二是老实的按照顺序去写参数,推荐第二种,可以在一定程度上防止Sql注入。

抱歉!评论已关闭.