使

用参数化 DbCommand 的一个缺点是需要参数的代码将仅适用于支持相同语法的提供程序。OLEDB、SqlClient 和 Oracle

提供程序全部使用不同的语法。例如,用于命名和指定参数的 SQL 语法使用 @ 符号,OLEDB 参数语法需要使用问号 (?) 作为参数占位符,而

Oracle 提供程序使用冒号 (:)。

string sqlstr = " select * from table where [email protected] and [email protected] ";

System.Data.SqlClient.SqlParameter parameters = newSystem.Data.SqlClient.SqlParameter[2];

parameters[0] = new SqlParameter("@id", uid);

parameters[1] = new SqlParameter("@name", name);

string sqlstr = " select * from table where id=? and name=? ";

System.Data.OleDb.OleDbParameter parameters = new System.Data.OleDb.OleDbParameter[2];

parameters[0] = new OleDbParameter("id", uid);

parameters[1] = new OleDbParameter("name", name);

string sqlstr = " select * from table where id=:id and name=:name ";

System.Data.OracleClient.OracleParameter parameters = new System.Data.OracleClient.OracleParameter[2];

parameters[0] = new OracleParameter(":id", uid);

parameters[1] = new OracleParameter(":name", name);

在通过OLEDB传递参数时候需要注意的问题

对于ACCESS数据库 可以是?cmd.CommandText = "insert into shop(ShopName,ShopAddress) Values(@sn,@sadd)";

但是对于SQL数据库 就是cmd.CommandText = "insert into shop(ShopName,ShopAddress) Values(?,?)";

而且在ACCESS中对于传递的参数的添加顺序 即使给出变量名 也必须和SQL语句调用的顺序一致 否则会出错

比如

? cmd.CommandText = "insert into shop(ShopName,ShopAddress) Values(@sn,@sadd)";

cmd.Parameters.Clear();

p = new OleDbParameter();

p.ParameterName = "@sn"; p.OleDbType = OleDbType.Char; p.Value = sn;

cmd.Parameters.Add(p);

p = new OleDbParameter();

p.ParameterName = "@sadd"; p.OleDbType = OleDbType.Char; p.Value = sadd;

cmd.Parameters.Add(p);

因为语句中Values(@sn,@sadd)

@[email protected] 如果你在写参数的时候把[email protected]?[email protected] 那么传递的参数也会反过来 即使你的?p.ParameterName定义准确了也一样

.net oracle 参数化,.NET参数化Oracle查询参数相关推荐

  1. oracle数据库配置助手来初始化参数,使用服务器参数文件(SPFILE)管理初始化参数...

    传统上,Oracle数据库的初始化参数存储在文本初始化参数文件中.为了更好的可管理性,您可以选择在二进制服务器参数文件中维护初始化参数,该文件在数据库启动和关闭期间保持不变.本节介绍服务器参数文件,并 ...

  2. c oracle 分页工具类,Util工具类 跨Oracle、MySQL通用分页查询

    /**** 跨Oracle.MySQL通用分页查询*/public classPagingUtil { public static finalString MYSQL= "MYSQL&quo ...

  3. oracle连续月份列表,Oracle实现查询2个日期所跨过的月份列表/日期列表的方法分析...

    Oracle实现查询2个日期所跨过的月份列表/日期列表的方法分析 本文实例讲述了Oracle实现查询2个日期所跨过的月份列表/日期列表的方法.分享给大家供大家参考,具体如下: 1.基本逻辑公式: Se ...

  4. 浅谈oracle树状结构层级查询

    oracle树状结构查询即层次递归查询,是sql语句经常用到的,在实际开发中组织结构实现及其层次化实现功能也是经常遇到的,虽然我是一个java程序开发者,我一直觉得只要精通数据库那么对于java开发你 ...

  5. MySQL 和 Oracle 大数据量分页查询方法及其优化

    MySQL大数据量分页查询方法及其优化 ---方法1: 直接使用数据库提供的SQL语句 ---语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N ---适 ...

  6. ORACLE错误一览表,方便查询!

    ORA-06000: NETASY: 端口打开失败 ORA-06001: NETASY: 端口设置失败 ORA-06002: NETASY: 端口读失败 ORA-06003: NETASY: 端口写失 ...

  7. 查询oracle全局数据库名,Oracle基础:数据库名 实例名 ORACLE_SID 服务名 域名 全局数据库名...

    Oracle中存在着这些容易混淆的名称: 数据库名实例名ORACLE_SID服务名域名全局数据库名 在oracle7/8/9i/10g中都有数据库名和实例名,在9i和10g中又引进了三个新的数据库标识 ...

  8. oracle9i能闪回吗,[转]Oracle 9i的闪回查询概述

    key words: Oracle闪回 flash 1.Oracle 9i的闪回查询功能 在Oracle 9i之前,如果用户错误操作数据后,除了不完全恢复外,没有好的解决办法.Oracle 9i中提供 ...

  9. oracle模糊匹配优化,Oracle 模糊查询 优化

    (1)字段  like '%关键字%'   字段包含"关键字"的记录   即使在目标字段建立索引也不会走索引,速度最慢 (2)字段  like '关键字%'      字段以&qu ...

  10. oracle千万级数据模糊查询,oracle模糊查询效率拔高

    分2种思路考虑模糊查询的效率的提高.--注:专注处理百万级数据量,小量数据就算了 第一种:把数据存到业务内存中,通过查询内存提高效率.(要求:硬件内存要高) 1,如果想实现内存动态数据,可以监控表数据 ...

最新文章

  1. log4j的日志级别(ssm中log4j的配置)
  2. [Python基础]003.语法(2)
  3. DL之NN/Average_Darkness/SVM:手写数字图片识别(本地数据集50000训练集+数据集加4倍)比较3种算法Average_Darkness、SVM、NN各自的准确率
  4. OpenCV+python实现视频文件读写
  5. [css] 如何取消从父级元素继承下来的CSS样式呢?
  6. python相关知识介绍一种理财方法_我是如何使用python来确定理财策略的
  7. python实现的遗传算法实例(一)
  8. Springboot 通过Ftp协议下载文件,并在Vue平台上显示其内容
  9. php随机关键词,php实现向含html文本内容随机位置插入关键词
  10. sql server数据表转换成xml
  11. 时间轮 Dialog 最简单的时间轮
  12. POJ 1236 Network of Schools (校园网)
  13. APP通用测试用例编写
  14. mysql冗余_如何合理使用数据库冗余字段的方法
  15. 两个自变量和一个因变量spss_两个自变量(离散)对一个因变量(连续)的影响(SPSS:双因素方差分析)...
  16. Ext文件下载(转载)
  17. C1——primitives添加gltf并实现旋转、缩放、平移
  18. 【数学建模入门】时间序列|山猫数量预测
  19. 求满足条件的数(数字和)
  20. 【入门Audio音频】必了解:Audio音频格式介绍

热门文章

  1. 常用选择器(CSS+JQuery)
  2. Web前端小例子——简单导航栏
  3. 集合框架(List容器)
  4. pgsql转储_十六进制转储如何工作
  5. 用高效好玩的方式,掌握职场必备技能Python
  6. Bootstrap CSS编码规范之选择器使用规范
  7. es6 next()、throw()、return() 的共同点
  8. es6 Promise.all()方法
  9. tcp和udp通讯协议
  10. 等额本息excel模板下载_格格技能——巧用EXCEL函数,算清各种收益利率