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

简介:

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

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

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

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




本文转自齐师傅博客园博客,原文链接:http://www.cnblogs.com/youring2/archive/2011/10/18/2216788.html,如需转载请自行联系原作者

相关文章
|
设计模式 IDE 测试技术
软件工程之编码(1)
软件工程之编码(1)
239 0
|
Web App开发 资源调度 JavaScript
Vue初学之使用npm搭建Vue环境
Vue初学之使用npm搭建Vue环境
772 0
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
深度剖析深度神经网络(DNN):原理、实现与应用
本文详细介绍了深度神经网络(DNN)的基本原理、核心算法及其具体操作步骤。DNN作为一种重要的人工智能工具,通过多层次的特征学习和权重调节,实现了复杂任务的高效解决。文章通过理论讲解与代码演示相结合的方式,帮助读者理解DNN的工作机制及实际应用。
|
SQL
Mybatis-plus 自定义SQL注入器查询@TableLogic 逻辑删除后的数据
Mybatis-plus使用@TableLogic注解进行逻辑删除数据后,在某些场景下,又需要查询该数据时,又不想写SQL。 自定义Mybatis-plus的SQL注入器一劳永逸的解决该问题
888 0
|
设计模式 测试技术 开发工具
【软件设计师备考 专题 】软件工程基础:理解软件开发生命周期
【软件设计师备考 专题 】软件工程基础:理解软件开发生命周期
286 0
|
存储 开发工具 数据安全/隐私保护
版本控制:让你的代码有迹可循
版本控制:让你的代码有迹可循
|
11月前
|
API 索引
封装QueryString构造函数,实现stringify、parse方法
【7月更文挑战第2天】实现QueryString构造函数,包含`stringify`和`parse`方法。`stringify`将对象转换为查询字符串,如`?a=1&b=2&c=1,2`。第一种实现使用for循环和模板字符串,第二种实现利用ES6的`Object.keys`, `map`和`join`。`parse`方法将查询字符串转换回对象,处理数组情况。主要使用`split`方法拆分字符串并遍历处理。
71 0
|
中间件 数据格式
操作系统提供的驱动程序是干什么的?底层原理是什么?
操作系统提供的驱动程序是干什么的?底层原理是什么?
534 0
|
SQL Java 程序员
MyBatisPlus实现乐观锁
MyBatisPlus实现乐观锁
MyBatisPlus实现乐观锁