OracleParameter 的使用(参数名要以:开头,不允许包含@等特殊字符)

原创 2012年03月21日 15:59:54
OracleParameter 的使用(参数名要以:开头,不允许包含@等特殊字符) 

在使用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.TextOracleCommand 调用的 SQL 语句传递参数时不支持问号 (?) 占位符。在这种情况下,必须使用命名的参数。例如:

复制代码
SELECT * FROM Customers WHERE CustomerID = :pCustomerID

CommandType.TextOracleCommand 调用的 SQL 语句中使用命名的参数时,参数名前面必须有一个冒号 (:)。但是,在存储过程或在代码的其他地方引用命名的参数时(例如,将OracleParameter 对象添加到Parameters 属性时),请不要在命名的参数前加上冒号 (:)。Oracle .NET Framework 数据提供程序会自动提供冒号。

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

 
Visual Basic
复制代码
Public Sub CreateOracleCommand(ByVal connection As OracleConnection, _
ByVal queryString As String, ByVal prmArray() As OracleParameter)

    Dim command As New OracleCommand(queryString, connection)
    command.CommandText = _
        "SELECT * FROM Emp WHERE Job = :pJob AND Sal = :pSal"

    Dim j As Integer
    For j = 0 To prmArray.Length - 1
        command.Parameters.Add(prmArray(j))
    Next j

    Dim message As String = ""
    Dim i As Integer
    For i = 0 To command.Parameters.Count - 1
        message += command.Parameters(i).ToString() + ControlChars.Cr
    Next i

    Console.WriteLine(message)

    Dim reader As OracleDataReader = command.ExecuteReader
    While reader.Read
        Console.WriteLine(reader.GetValue(0))
    End While

End Sub
C#
复制代码
    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 = 0; j < myParamArray.Length; j++)
            command.Parameters.Add(myParamArray[j]);

        string message = "";

        for (int i = 0; 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(0));
            }
        }
    }

.NET Framework

受以下版本支持:4、3.5、3.0、2.0、1.1

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2

.NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求

Oracle参数查看方法小结

Oracle提供了大量的系统参数,下面是查询方法小结。 系统当前参数 系统当前参数涉及到这些视图:v$parameter、v$parameter2、v$system_parameter、v$syste...

关于pmon、smon、mman、mmon、mmnl后台进程的解释

ProcessMonitor (PMON): 该进程在用户进程出现故障时执行进程恢复,负责清理内存储区和释放该进程所使用的资源。例:它要重置活动事务表的状态,释放封锁,将该故障的进程的ID从活动进程表...

Shell变量名使用的特殊字符

  • 2013年06月12日 13:35
  • 6KB
  • 下载

hibernate hql语句中条件参数中包含特殊字符单引号' 的处理办法

在我们编写hql语句的时候,where条件中的参数两端常常会加上”’”单引号,一般情况下是没有问题的,但是如果参数中包含单引号呢,例如一家公司的名称“CompagnieFrancaised’Etude...

PHP的特殊字符转译函数使用.pdf

  • 2013年02月02日 14:31
  • 94KB
  • 下载

jQuery EasyUI datagrid列名包含特殊字符会导致表格错位

首先申明:本文所述的Bug存在于1.3.3以及更高版本中,其它低版本,本人未测试,太老的版本不想去折腾了。 洒家在写前端的SQL执行工具时,表格用了 jQuery EasyUI datagrid...

VIM使用技巧之特殊字符的输入

  • 2013年12月19日 23:14
  • 12KB
  • 下载

预防XSS攻击,(参数/响应值)特殊字符过滤

一、什么是XSS攻击 XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。比如这些代码包括HTML代码和客户端脚本。攻击者利用XS...
  • catoop
  • catoop
  • 2015年12月17日 10:28
  • 20551
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OracleParameter 的使用(参数名要以:开头,不允许包含@等特殊字符)
举报原因:
原因补充:

(最多只允许输入30个字)