ado.net 操作oracle 数据库 跟操作mssql 的原来基本一样。只是使用不同的命名空间而已。下面举几个例子:

一。 C#读取oracle数据库的表格

 ///ado.net 读取table 列子
///需要添加命名空间 : using System.Data.OracleClient //链接字符串
string connString = @"User ID=system;Password=123456;Data Source=(DESCRIPTION = (ADDRESS_LIST=
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.118)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = ORCL)))";
//创建链接
OracleConnection conn = new OracleConnection(connString);
conn.Open();
string sql = "select * from help";
OracleDataAdapter sda_tab = new OracleDataAdapter(sql, conn);
DataSet ds = new DataSet();
sda_tab.Fill(ds); DataTable tb = ds.Tables[];

二 。 C# 执行 oracle 语句 返回 受影响的行数

 string connString = @"User ID=system;Password=123456;Data Source=(DESCRIPTION = (ADDRESS_LIST=
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.118)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = ORCL)))";
//创建链接
OracleConnection conn = new OracleConnection(connString);
conn.Open();
string sql = "select * from help";
OracleCommand cmd = new OracleCommand(sql, conn);
int ret = cmd.ExecuteNonQuery();

三。C#执行oracle游标的存储过程

       //智友的业务端
public static string oconn = "User ID=" + sys.Sa + ";Password=" + sys.Pwd + ";Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = " + sys.Ip + ")(PORT = " + sys.Dk + "))) (CONNECT_DATA = (SERVICE_NAME = " + sys.Data + ")))"; /// <summary>
/// 执行存储过程返回搜影响的行数
/// </summary>
/// <param name="sql"></param>
/// <param name="opar"></param>
/// <returns></returns>
public static int ExecuteNonQuery(string cmdtxt, string fw, OracleParameter[] sqlParme)
{ using (OracleConnection cona = new OracleConnection (oconn))
{
cona.Open();
using ( OracleCommand cmd = new OracleCommand("Proc_PXUnit_Pay", cona))
{
cmd.CommandType = CommandType.StoredProcedure;//说明执行的存储过程
cmd.CommandText = cmdtxt;//指定执行的名称 //cmd.Parameters.Clear();//先清空
cmd.Parameters.AddRange(sqlParme);//添加参数
//添加参数
return cmd.ExecuteNonQuery();
}
} //OracleConnection conA = null;
//OracleCommand cmd = null;
//try
//{ // conA = new OracleConnection(oconn);
// conA.Open();
// cmd = new OracleCommand("Proc_PXUnit_Pay", conA);
// //cmd = conA.CreateCommand();
// cmd.CommandType = CommandType.StoredProcedure;//说明执行的存储过程
// cmd.CommandText = cmdtxt;//指定执行的名称 // //cmd.Parameters.Clear();//先清空
// cmd.Parameters.AddRange(sqlParme);//添加参数
// //添加参数
// return cmd.ExecuteNonQuery(); //}
//catch (Exception ex)
//{
// throw;
//}
//finally
//{
// conA.Close(); //}
}

四  执行游标的存储过程 返回结果集

 /// <summary>
/// 调用通过游标调用oracle的存储过程
/// </summary>
/// <param name="cmdtxt">存储过程的名字</param>
/// <param name="fw"></param>
/// <param name="sqlParme">存储过程的参数</param>
/// <returns></returns>
public static DataSet GetDsByPrec(string cmdtxt, string fw, OracleParameter[] sqlParme)
{
OracleConnection conA = null;
OracleCommand cmd = null; try
{ conA = new OracleConnection(oconn);
conA.Open();
cmd = new OracleCommand("Proc_PXUnit_Pay", conA); cmd.CommandText = cmdtxt;
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Clear();//先清空
//添加参数
if (sqlParme != null)
{
foreach (OracleParameter parme in sqlParme)
{
cmd.Parameters.Add(parme);
}
}
DataSet ds1 = new DataSet();
OracleDataAdapter da1 = new OracleDataAdapter(cmd);//取出数据
da1.Fill(ds1);
return ds1;
}
catch (Exception ex)
{
throw;
}
finally
{
conA.Close(); } }

ado.net 之 oracle 数据库的更多相关文章

  1. ADO.Net对Oracle数据库的操作【转载】

    一 ADO.Net简介 访问数据库的技术有许多,常见的有一下几种:开放数据库互联(ODBC).数据访问对象(DAO).远程数据对象 (RDO). ActiveX数据对象(ADO).我们今天主要要学习A ...

  2. 【转】ADO.Net对Oracle数据库的操作

    一 ADO.Net简介 [转自网络,收藏学习] 访问数据库的技术有许多,常见的有一下几种:开放数据库互联(ODBC). 数据访问对象(DAO).远程数据对象(RDO). ActiveX数据对象(ADO ...

  3. 使用ADO.NET操作Oracle数据库

    本文将示例使用C#的ADO.NET技术调用Oralce的存储过程和函数及操作Oracle数据库. 在oracle的hr数据库中建立存储过程 在oralce的hr数据库中建立函数 新建控制台项目,在主函 ...

  4. VC使用ADO连接远程oracle数据库

    _ConnectionPtr pConn;//连接对像 _RecordsetPtr pRect;//记录集对象 _CommandPtr  pCmd;//命令对象 pRect.CreateInstanc ...

  5. [VSTS]让ADO.NET Entity Framework支持Oracle数据库(转载)

    近期由于项目所需不得不研究Oracle数据库,回想上一次用Oracle还是07年的事情,实习时候做华晨宝马的项目简单接触了Oracle.这次的项目需要基于.NET平台,我个人的习惯是能用微软自带的就不 ...

  6. 利用ADO让普通人用excel读取oracle数据库表的通用办法

    Ref:http://blog.csdn.net/iamlaosong/article/details/8465177 Excel通过ADO方式连接到Oracle并操作Oracle给那些编程能力不强的 ...

  7. 64位程序,利用ADO连接Oracle数据库

        刚好手头项目解决了ADO连接Oracle数据库的问题,记录下来,防止忘记. 项目情况:用32位环境完成算法动态库,结果后来需要升级到64位环境,由64位的软件来调用,则在64位设置下生成算法动 ...

  8. 让ADO.NET Entity Framework支持Oracle数据库

    Oracle最近发布了 Oracle Data Access Component(ODAC)11. 2 Rel 4,其中增加了对 Entity Framework 4.1 和4.2的支持.这让 .NE ...

  9. ADO访问Oracle数据库,连接异常(Unknown error 0x800a0e7a)

    ADO访问Oracle数据库,连接异常(Unknown error 0x800a0e7a) 代码如下:执行Open过程中出现异常,信息为Unknown error 0x800a0e7a  C++ Co ...

随机推荐

  1. 【题解】P1171 售货员的难题

    Tags 搜索,状压​. 裸的旅行商问题 #include <stdio.h> #include <string.h> #define re register #define ...

  2. vue-使用keep-alive优化网页性能

    export default{ name: 'Home', data () { return { iconList: [], recommendList: [], swiperList: [], we ...

  3. matplotlib绘图的基本操作

    转自:Laumians博客园 更简明易懂看Matplotlib Python 画图教程 (莫烦Python)_演讲•公开课_科技_bilibili_哔哩哔哩 https://www.bilibili. ...

  4. .NET 开源项目 Anet 介绍

    使用 Anet 有一段时间了,已经在我的个人网站(如 bookist.cc)投入使用,目前没有发现什么大问题,所以才敢写篇文章向大家介绍. GitHub 地址:https://github.com/a ...

  5. C# 远程获取图片二进制

    直接上代码, 紧做记录. public byte[] GetByteByImgUrl() { System.Net.WebRequest webreq = System.Net.WebRequest. ...

  6. 解决hash冲突的三个方法

    通过构造性能良好的哈希函数,可以减少冲突,但一般不可能完全避免冲突,因此解决冲突是哈希法的另一个关键问题.创建哈希表和查找哈希表都会遇到冲突,两种情况下解决冲突的方法应该一致.下面以创建哈希表为例,说 ...

  7. vertical-align和text-align属性实现垂直水平居中

    HTML: <div class="box"> <div class="content"> <span class="s ...

  8. 转:Flutter动画一

    1. 动画介绍 动画对于App来说,非常的重要.很多App,正是因为有了动画,所以才会觉得炫酷.移动端的动画库有非常的多,例如iOS上的Pop.web端的animate.css.Android端的An ...

  9. python之数据类型补充、集合、深浅copy

    一.内容回顾 代码块: 一个函数,一个模块,一个类,一个文件,交互模式下,每一行就是一个代码块. is == id id()查询对象的内存地址 == 比较的是两边的数值. is 比较的是两边的内存地址 ...

  10. 这可能是最为详细的Docker入门吐血总结

    这可能是最为详细的Docker入门吐血总结  https://www.cnblogs.com/ECJTUACM-873284962/p/9789130.html Docker是什么? 在计算机技术日新 ...