`
radzhang
  • 浏览: 310838 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ODP.NET的Command的Parameter

 
阅读更多

ODP.NET的用法与微软的组件差别不大,但是还是有些不同的,主要集中在OracleCommand对象上。

  1,参数前缀

    ODP.NET使用":",微软的组件使用"@"。

  2,BindByName

    参数数组与SQL语句参数匹配规则:微软的组件中默认是用参数数组的名称,而ODP.NET中默认是用参数数组的索引。可能这么说太不明白,看下面的代码:

string text = "select count(*) from tbl_user where (name = :name and password = :password)
or (email = :email and password = :password)";   OracleCommand comm = new OracleCommand(text); comm.Parameters.Add(new OracleParameter(":name", OracleDbType.Varchar2, 20)); comm.Parameters.Add(new OracleParameter(":password", OracleDbType.Varchar2, 64)); comm.Parameters.Add(new OracleParameter(":email", OracleDbType.Varchar2, 50));

按照上面写法应该是没有问题的,但事实并非如此,运行的时候会报错。应该这样写:

string text = "select count(*) from tbl_user where (name = :name and password = :password)
or (email = :email and password = :password)";
  OracleCommand comm = new OracleCommand(text);
  comm.BindByName = true; comm.Parameters.Add(new OracleParameter(":name", OracleDbType.Varchar2, 20)); comm.Parameters.Add(new OracleParameter(":password", OracleDbType.Varchar2, 64)); comm.Parameters.Add(new OracleParameter(":email", OracleDbType.Varchar2, 50));

加了一句comm.BindByName = true。或者:

string text = "select count(*) from tbl_user where (name = :name and password = :password)
or (email = :email and password = :password)";  
  OracleCommand comm = new OracleCommand(text);  
   comm.Parameters.Add(new OracleParameter(":name", OracleDbType.Varchar2, 20));
comm.Parameters.Add(new OracleParameter(":password", OracleDbType.Varchar2, 64));
comm.Parameters.Add(new OracleParameter(":email", OracleDbType.Varchar2, 50));
comm.Parameters.Add(new OracleParameter(":password", OracleDbType.Varchar2, 64));   

分享到:
评论

相关推荐

    ODP.NET (Oracle帮助文档)

    ### ODP.NET (Oracle Data Provider for .NET):关键技术知识点详解 #### 一、ODP.NET简介 **Oracle Data Provider for .NET (ODP.NET)** 是由Oracle公司开发的一个高性能的.NET数据提供程序,用于在.NET应用程序...

    基于ODP.NET的Oracle数据库访问优化.pdf

    ODP.NET是Oracle公司专为.NET平台设计的数据库访问接口,用于提高Oracle数据库的访问效率和性能。相较于.NET Framework中的其他内置数据提供者(如System.Data.OracleClient、System.Data.Odbc和System.Data.OleDb)...

    c#连接oracledemo

    1. **安装ODP.NET**: 你可以通过下载Oracle Data Access Components (ODAC)获得ODP.NET,其中包括了必要的驱动程序和库。确保安装的是与你的.NET Framework版本相匹配的ODP.NET。 2. **配置连接字符串**: 连接...

    .net与Oracle数据之间的访问

    10. **ODP.NET高级特性**:除了基本操作,ODP.NET还支持高级特性,如LOB对象处理、PL/SQL块执行、游标、触发器等,使得.NET应用程序能充分利用Oracle数据库的丰富功能。 以上就是.NET与Oracle数据访问的基础知识,...

    ADO.rar_ADO_ado oracle_ado vs_vs SQLServer_vs 数据库

    它包含了一系列的COM对象,如Connection、Command、Recordset、Parameter等,这些对象为数据操作提供了丰富的功能。 在"VS环境下,利用ADO操作SQLSERVER数据库"这一描述中,我们看到的是实际的开发应用场景。Visual...

    此资源不全,请另下载 C#传递表变量给ORACLE存储过程

    在C#中,使用Oracle Data Provider for .NET (ODP.NET) 可以方便地操作Oracle UDT。ODP.NET提供了对Oracle UDT的全面支持,包括创建、实例化、序列化和反序列化。 3. **定义Oracle UDT** 如文件名"截图_定义数据...

    ASP.NET 2.0 数据库(ORACLE)通用操作类

    ODP.NET是Oracle公司提供的.NET Framework数据提供程序,它允许开发者直接与Oracle数据库进行交互。 通用数据库操作类的设计通常包含以下几个关键部分: 1. **连接管理**:类需要包含一个方法来管理数据库连接,如...

    基于oracle的题库系统 c#.zip

    ODP.NET提供了ADO.NET兼容的接口,包括Connection、Command、DataReader、DataAdapter等对象,使得开发人员可以使用熟悉的ADO.NET编程模式来处理Oracle数据。 三、C#与Oracle连接 1. 添加引用:首先,确保项目中...

    C#程式使用oracle数据库

    2. **Oracle 数据提供者 (ODP.NET)**: Oracle提供了专门针对.NET的Oracle Data Provider,即ODP.NET,它是用于连接C#和Oracle数据库的专用库。ODP.NET提供了比ADO.NET更高级的功能,如支持Oracle特有的数据类型和...

    C# ORcale数据库链接例子

    1. **Oracle数据提供者(Oracle Data Provider for .NET, ODP.NET)** ODP.NET是Oracle公司为.NET开发者提供的官方数据访问组件,支持.NET Framework和.NET Core。它提供了全面的Oracle数据库访问功能,包括连接...

    oracle for VisualStudio_pdf

    - **功能**: 支持标准 ADO.NET 模型,包括 Command、Parameter、DataReader 和 DataSet 对象等。 - **优点**: - 高性能 - 简单易用 - 全面支持 Oracle 功能 #### 2. Oracle Managed Data Access (ODP.NET) - **...

    C# Oracle Operate

    首先,我们需要引入Oracle的数据提供者,即Oracle Managed Data Access (ODP.NET Managed Driver),这是一个专门为.NET Framework和.NET Core设计的Oracle数据库连接库。安装ODP.NET后,我们可以在C#项目中引用`...

    C#读取Excel并保存Oracle 11g

    Oracle提供了一个名为ODP.NET(Oracle Data Provider for .NET)的数据提供者,它是专门用于.NET应用程序访问Oracle数据库的。要建立连接,你需要以下信息:数据库服务器名、服务名、用户名和密码。以下是一个基本的...

    orcal连接数据库的基类for vs

    在C#中连接Oracle数据库,我们需要引用Oracle提供的ODP.NET(Oracle Data Provider for .NET)库。首先,确保已安装Oracle Developer Tools for Visual Studio或单独的ODP.NET驱动。安装后,可以在项目中添加对`...

    Oracle.ManagedDataAccess.dll|oracle连接.zip

    通过添加OracleParameter对象到CommandParameters集合中,你可以将变量值绑定到SQL语句中。 7. **存储过程** Oracle.ManagedDataAccess.dll还支持调用Oracle数据库中的存储过程。你可以通过设置CommandType为...

    C#中调用oracle存储过程返回数据集

    首先,确保已经安装了Oracle的数据提供程序,如Oracle Data Provider for .NET (ODP.NET)。这是与Oracle数据库进行交互的必要组件。你可以通过NuGet包管理器安装它,搜索“Oracle.ManagedDataAccess”并添加到项目中...

    C#连接Oracle方法封装

    首先,我们需要引入Oracle的数据访问组件,即Oracle Data Provider for .NET (ODP.NET)。你可以通过NuGet包管理器安装`Oracle.ManagedDataAccess`库,它包含了连接Oracle数据库所需的类和方法。 1. **添加引用** ...

    c#连接oracle实现用户登录以及密码的修改

    首先,我们需要安装Oracle的数据提供程序,通常使用Oracle Data Provider for .NET (ODP.NET)。安装完成后,可以通过NuGet包管理器在项目中引入`Oracle.ManagedDataAccess`库,它包含了与Oracle数据库交互所需的所有...

    C#连接oracle数据库实例

    当需要与Oracle数据库进行交互时,可以借助Oracle提供的Oracle Managed Data Access (ODP.NET Managed Driver)库,该库使得C#程序员能够轻松地连接到Oracle数据库并执行查询、更新等操作。本实例将详细介绍如何使用...

    C#连接Oracle基础程序.rar

    首先,要实现C#与Oracle的连接,我们需要安装Oracle的数据提供者,也就是ODP.NET(Oracle Data Provider for .NET)。这可以通过NuGet包管理器来完成,搜索并安装“Oracle.ManagedDataAccess”库,它包含了处理...

Global site tag (gtag.js) - Google Analytics