.net oracle 参数化,.NET参数化Oracle查询参数
使
用参数化 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查询参数相关推荐
- oracle数据库配置助手来初始化参数,使用服务器参数文件(SPFILE)管理初始化参数...
传统上,Oracle数据库的初始化参数存储在文本初始化参数文件中.为了更好的可管理性,您可以选择在二进制服务器参数文件中维护初始化参数,该文件在数据库启动和关闭期间保持不变.本节介绍服务器参数文件,并 ...
- c oracle 分页工具类,Util工具类 跨Oracle、MySQL通用分页查询
/**** 跨Oracle.MySQL通用分页查询*/public classPagingUtil { public static finalString MYSQL= "MYSQL&quo ...
- oracle连续月份列表,Oracle实现查询2个日期所跨过的月份列表/日期列表的方法分析...
Oracle实现查询2个日期所跨过的月份列表/日期列表的方法分析 本文实例讲述了Oracle实现查询2个日期所跨过的月份列表/日期列表的方法.分享给大家供大家参考,具体如下: 1.基本逻辑公式: Se ...
- 浅谈oracle树状结构层级查询
oracle树状结构查询即层次递归查询,是sql语句经常用到的,在实际开发中组织结构实现及其层次化实现功能也是经常遇到的,虽然我是一个java程序开发者,我一直觉得只要精通数据库那么对于java开发你 ...
- MySQL 和 Oracle 大数据量分页查询方法及其优化
MySQL大数据量分页查询方法及其优化 ---方法1: 直接使用数据库提供的SQL语句 ---语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N ---适 ...
- ORACLE错误一览表,方便查询!
ORA-06000: NETASY: 端口打开失败 ORA-06001: NETASY: 端口设置失败 ORA-06002: NETASY: 端口读失败 ORA-06003: NETASY: 端口写失 ...
- 查询oracle全局数据库名,Oracle基础:数据库名 实例名 ORACLE_SID 服务名 域名 全局数据库名...
Oracle中存在着这些容易混淆的名称: 数据库名实例名ORACLE_SID服务名域名全局数据库名 在oracle7/8/9i/10g中都有数据库名和实例名,在9i和10g中又引进了三个新的数据库标识 ...
- oracle9i能闪回吗,[转]Oracle 9i的闪回查询概述
key words: Oracle闪回 flash 1.Oracle 9i的闪回查询功能 在Oracle 9i之前,如果用户错误操作数据后,除了不完全恢复外,没有好的解决办法.Oracle 9i中提供 ...
- oracle模糊匹配优化,Oracle 模糊查询 优化
(1)字段 like '%关键字%' 字段包含"关键字"的记录 即使在目标字段建立索引也不会走索引,速度最慢 (2)字段 like '关键字%' 字段以&qu ...
- oracle千万级数据模糊查询,oracle模糊查询效率拔高
分2种思路考虑模糊查询的效率的提高.--注:专注处理百万级数据量,小量数据就算了 第一种:把数据存到业务内存中,通过查询内存提高效率.(要求:硬件内存要高) 1,如果想实现内存动态数据,可以监控表数据 ...
最新文章
- log4j的日志级别(ssm中log4j的配置)
- [Python基础]003.语法(2)
- DL之NN/Average_Darkness/SVM:手写数字图片识别(本地数据集50000训练集+数据集加4倍)比较3种算法Average_Darkness、SVM、NN各自的准确率
- OpenCV+python实现视频文件读写
- [css] 如何取消从父级元素继承下来的CSS样式呢?
- python相关知识介绍一种理财方法_我是如何使用python来确定理财策略的
- python实现的遗传算法实例(一)
- Springboot 通过Ftp协议下载文件,并在Vue平台上显示其内容
- php随机关键词,php实现向含html文本内容随机位置插入关键词
- sql server数据表转换成xml
- 时间轮 Dialog 最简单的时间轮
- POJ 1236 Network of Schools (校园网)
- APP通用测试用例编写
- mysql冗余_如何合理使用数据库冗余字段的方法
- 两个自变量和一个因变量spss_两个自变量(离散)对一个因变量(连续)的影响(SPSS:双因素方差分析)...
- Ext文件下载(转载)
- C1——primitives添加gltf并实现旋转、缩放、平移
- 【数学建模入门】时间序列|山猫数量预测
- 求满足条件的数(数字和)
- 【入门Audio音频】必了解:Audio音频格式介绍