ado.net 之 oracle 数据库
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 数据库的更多相关文章
- ADO.Net对Oracle数据库的操作【转载】
一 ADO.Net简介 访问数据库的技术有许多,常见的有一下几种:开放数据库互联(ODBC).数据访问对象(DAO).远程数据对象 (RDO). ActiveX数据对象(ADO).我们今天主要要学习A ...
- 【转】ADO.Net对Oracle数据库的操作
一 ADO.Net简介 [转自网络,收藏学习] 访问数据库的技术有许多,常见的有一下几种:开放数据库互联(ODBC). 数据访问对象(DAO).远程数据对象(RDO). ActiveX数据对象(ADO ...
- 使用ADO.NET操作Oracle数据库
本文将示例使用C#的ADO.NET技术调用Oralce的存储过程和函数及操作Oracle数据库. 在oracle的hr数据库中建立存储过程 在oralce的hr数据库中建立函数 新建控制台项目,在主函 ...
- VC使用ADO连接远程oracle数据库
_ConnectionPtr pConn;//连接对像 _RecordsetPtr pRect;//记录集对象 _CommandPtr pCmd;//命令对象 pRect.CreateInstanc ...
- [VSTS]让ADO.NET Entity Framework支持Oracle数据库(转载)
近期由于项目所需不得不研究Oracle数据库,回想上一次用Oracle还是07年的事情,实习时候做华晨宝马的项目简单接触了Oracle.这次的项目需要基于.NET平台,我个人的习惯是能用微软自带的就不 ...
- 利用ADO让普通人用excel读取oracle数据库表的通用办法
Ref:http://blog.csdn.net/iamlaosong/article/details/8465177 Excel通过ADO方式连接到Oracle并操作Oracle给那些编程能力不强的 ...
- 64位程序,利用ADO连接Oracle数据库
刚好手头项目解决了ADO连接Oracle数据库的问题,记录下来,防止忘记. 项目情况:用32位环境完成算法动态库,结果后来需要升级到64位环境,由64位的软件来调用,则在64位设置下生成算法动 ...
- 让ADO.NET Entity Framework支持Oracle数据库
Oracle最近发布了 Oracle Data Access Component(ODAC)11. 2 Rel 4,其中增加了对 Entity Framework 4.1 和4.2的支持.这让 .NE ...
- ADO访问Oracle数据库,连接异常(Unknown error 0x800a0e7a)
ADO访问Oracle数据库,连接异常(Unknown error 0x800a0e7a) 代码如下:执行Open过程中出现异常,信息为Unknown error 0x800a0e7a C++ Co ...
随机推荐
- 记一个bug
就在刚刚,测试叫我去看一个问题,有用户反应,在业务页面,出现了一部分重复的内容,而且点击按钮弹窗里,出现了只有个title,没有body的情况. 事情的现象就是这样.然后我就开始着手找原因了.首先声明 ...
- AI SegNet
SegNet,是一种基于编码器-解码器架构的深度全卷积神经网络,用于图像语义分割. 参考链接: https://ieeexplore.ieee.org/document/7803544
- 【Topcoder 8572】TheLuckySum
题意:给一个数\(n\),要把它分成lucky numbers的和. 问个数最少.字典序最小的方案. 思路:果断搜索.个数最少,所以迭代加深.枚举要的个数\(m\). 首先我们看\(n\)的个位.它肯 ...
- AT24 I2C EEPROM解析及测试
关键词:AT24.I2C.nvmem.EEPROM. 1. AT24C介绍 AT24C是一款采用I2C通信的EEPROM,相关驱动涉及到I2C和nvmem. I2C是读写数据的通道,nvmem将AT2 ...
- 允许外网连接到云服务器的mongodb服务器
通过 vi /etc/mongdb.conf 修改bind_ip 进行配置.
- Python基础知识5-递归函数、生成器
函数执行流程* 递归Recursion 递归的性能 递归总结 递归练习: def fac(n): if n==1: return n return n*fac(n-1) def fac1(n, f= ...
- RecyclerView的点击、滑动、拖动事件
效果图: 在gradle里导包 implementation 'com.android.support:recyclerview-v7:28.0.0' activity_main <?xml ...
- BEX5下增加sessionStorage监听器实现页面间数据刷新
场景: A页面修改了数据,希望B页面能进行及时的同步前端数据,但是假如当A页面修改保存后,去获得B页面的model对象,会增加开发的难度,同时A页面也不能重复利用:假如在B页面的激活事件里面写刷新代码 ...
- 在CENTOS上源码搭建LNMP环境
前言 1.操作前提: CentOS Linux release 7.5.1804: sudo用户(需要root权限): 2.需要安装的组件: nginx稳定版:nginx-1.14.0: MariaD ...
- MT【320】依次动起来
已知$ BC=6,AC=2AB, $点$ D $满足$ \overrightarrow{AD}=\dfrac{2x}{x+y}\overrightarrow{AB}+\dfrac{y}{2(x+y)} ...