在使用OracleParameters时,CommandText 中的参数要以":"开头,不能包含@等特殊字符。而在其它地方引用到此参数时可以不必加上":",程序会自动为其加上":"

OracleCommand oracmd = oracon.CreateCommand();
                    oracmd.CommandText = "select
gas_user_no,vol_page,user_name,user_address,unit from gas_meter where
gas_user_no = :gas_userno";
                    if (!oracmd.Parameters.Contains("gas_userno"))
                    {
                        oracmd.Parameters.Add(new
OracleParameter("gas_userno", OracleDbType.Varchar2,
ParameterDirection.Input));
                    }
                    oracmd.Parameters["gas_userno"].Value = “666666”
                    OracleDataAdapter da = new OracleDataAdapter();
                    da.SelectCommand = oracmd;
                    DataTable dt = new DataTable();
                    da.Fill(dt);

OracleDataReader dr = oracmd.ExecuteReader();

以下为转载内容:

CommandType 属性设置为StoredProcedure
时,CommandText 属性应设置为存储过程的名称。如果存储过程名称包含任何特殊字符,则可能会要求用户使用转义符语法。当调用
Execute 方法之一时,该命令将执行此存储过程。

用于 Oracle 的 .NET Framework 数据提供程序在向由CommandType.Text 的OracleCommand
调用的 SQL 语句传递参数时不支持问号 (?) 占位符。在这种情况下,必须使用命名的参数。例如:

 

复制代码

 示例

下面的示例创建一个 OracleCommand 并显示其参数。要完成此任务,请向该方法传递一个OracleConnection、一个查询字符串(它是 SQL SELECT 语句)和一个OracleParameter 对象数组。

    public void CreateOracleCommand(OracleConnection connection,
string queryString, OracleParameter[] myParamArray)
{ OracleCommand command = new OracleCommand(queryString, connection);
command.CommandText =
"SELECT * FROM Emp WHERE Job = :pJob AND Sal = :pSal"; for (int j = ; j < myParamArray.Length; j++)
command.Parameters.Add(myParamArray[j]); string message = ""; for (int i = ; i < command.Parameters.Count; i++)
message += command.Parameters[i].ToString() + "\n"; Console.WriteLine(message); using (OracleDataReader row = command.ExecuteReader())
{
while(row.Read())
{
Console.WriteLine(row.GetValue());
}
}
}

OracleParameter 的使用(参数名要以:开头,不允许包含@等特殊字符)[转]的更多相关文章

  1. tar: 从成员名中删除开头的“/”

    在压缩文件时,当后面的备份目录使用绝对路径时,会出现: tar zcvf   /usr/OutFile.tar.gz  /data/CTest tar: 从成员名中删除开头的“/” 此时,对tar增加 ...

  2. request.getParameter(“参数名”) 中文乱码解决方法

    今天浏览项目时候,遇到一个问题,页面用${requestScope.参数名 }获取的值是乱码,然后搜了一下,最后说是编码的问题,附上查找的结果: 在Java 开发中,如果框架搭建的不完善或者初学者在学 ...

  3. spring mvc@RequestParam根据参数名获取传入参数值

    在SpringMVC后台控制层获取参数的方式主要有两种,一种是request.getParameter("name"),另外一种是用注解@RequestParam直接获取.这里主要 ...

  4. Web Performance Test : 为Request的Post参数名添加XPath支持

    问题描述 本文的标题看起来有些含糊其辞,这里我需要把问题阐述得更加清楚.这是我们使用VSTS进行Web Performance Test时,Asp.net造成的特定问题(也许其他开发工具或插件也会造成 ...

  5. Value cannot be null or empty. 参数名: contentPath

    代码:<img src="@Url.Content(item.ThumbPath)" width="160" height="250" ...

  6. linux shell脚本通过参数名传递参数值

    平常在写shell脚本都是用$1,$2....这种方式来接收参数,然而这种接收参数的方式不但容易忘记且不易于理解和维护.Linux常用的命令都可指定参数名和参数值,然而我们怎样才能给自己的shell脚 ...

  7. 指定的参数已超出有效值的范围 参数名: utcDate WebResource异常

    指定的参数已超出有效值的范围.参数名: utcDate 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息.  异常详细信息 ...

  8. EntityFramework:值不能为 null。参数名: entitySet 异常解决方案

    昨天EF莫名其妙的,掉所有接口访问都出现如下错误:百度,Google了半天,倒是有很多人都遇到了这个问题,但都没有一个解决方案,或者解决方案无效.通过层层排除,终于找到问题的所在.记录下来,给以后再遇 ...

  9. Swift 1.1语言函数参数的特殊情况本地参数名外部参数名

    Swift 1.1语言函数参数的特殊情况本地参数名外部参数名 7.4  函数参数的特殊情况 声明定义有参函数时,为函数的每一个参数都定义了参数名称.根据参数名定义的形式不同,函数参数包括本地参数和外部 ...

随机推荐

  1. 01_JavaMail_02_Base64加密

    [简述] Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一.Base64编码可用于在HTTP环境下传递较长的标识信息.例如,在Java Persistence系统Hibernate中 ...

  2. 给定任意一个字符串,使用 for in 语句来统计字符出现的个数

    //找出字符串中的数字 var str = 'haj123sdk54hask33dkhalsd879'; /*function findNum(str){ var arr = []; var tmp ...

  3. yum --rpm包安装

    rpm -ivh  package -i 表示安装install -v表示显示详细信息, -vv更详细些 -h表示显示安装进度 --force:表示强制安装 --nodeps:忽略依赖关系安装 --r ...

  4. OpenCart框架运行流程介绍

    框架运行流程介绍 这样的一个get请求http://hostname/index.php?route=common/home 发生了什么? 1. 开始执行入口文件index.php. 2. requi ...

  5. js 数组 var arr=[] 的用法总结

    刚接触了一个js数组,用起来很头疼,总结一下 基本格式: var arr = [[name,value],[name2,value2],[name3,value3]]; 如何给 arr 动态添加元素 ...

  6. html5音频和视频相关属性和方法

    方法 方法 描述 addTextTrack() 为音视频加入一个新的文本轨迹 canPlayType() 检查指定的音视频格式是否得到支持 load() 重新加载音视频标签 play() 播放音视频 ...

  7. 缓存 Cache

    Controllers层 public class HomeController : Controller    {        //        // GET: /Home/       // ...

  8. std::copy的使用

    看到有人在用std::copy这个东西,很简洁和爽啊,,所以找些帖子学习学习 http://blog.sina.com.cn/s/blog_8655aeca0100t6qe.html https:// ...

  9. hdu 1009 贪心算法

    博主英语不好,看懂个大概,老鼠有M磅猫食.有N个房间,每个房间前有一只猫,房间里有老鼠最喜欢的食品JavaBean,J[i].若要引开猫,必须付出相应的猫食F[i]. 当然这只老鼠没必要每次都付出所有 ...

  10. 定位 - CoreLocation - INTULocationManager

    https://github.com/intuit/LocationManager #import "ViewController.h" #import "INTULoc ...