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 ...
随机推荐
- elementUI el-table渲染的时候出现bug
如下: 问题: value的值一直渲染不出来,因为是boolean类型,出现了bug,把true变成一个字符串就能显示了,太不好用了 为了能渲染出来,不得不写成下列形式:
- Java线程锁,synchronized、wait、notify详解
(原) JAVA多线程这一块有点绕,特别是对于锁,对锁机制理解不清的话,程序出现了问题也很难找到原因,在此记录一下线程的执行以及各种锁. 1.JAVA中,每个对象有且只有一把锁(lock),也叫监视器 ...
- 20 python 初学(logging模块)
学习网站:https://www.cnblogs.com/yuanchenqi/articles/5732581.html logging 模块: # _author: lily # _date: 2 ...
- C# 使用DES对字符串进行加密
1.DES加密是属于对称加密,加密和解密使用的密钥必须要保持一致,且必须为8位,使用前首先添加引用: 2.逻辑实现代码如下:
- core dump文件的生成
#include <stdio.h> int main(int argc, char *argv[]) { char * p = "abcdefg"; p[] = '; ...
- 软件工程(FZU2015) 赛季得分榜,第11回合(beta冲刺+SE总结)
SE_FZU目录:1 2 3 4 5 6 7 8 9 10 11 12 13 积分规则 积分制: 作业为10分制,练习为3分制:alpha30分:beta30分 团队项目分=团队得分+个人贡献分 个人 ...
- Java 创建一个简单的验证码图片
代码如下: package lixin.gan.test; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2 ...
- CodeForces Round #545 Div.2
A. Sushi for Two 代码: #include <bits/stdc++.h> using namespace std; ; ; int a[maxn], vis[maxn]; ...
- linux下安装PHP扩展memcache
公司的服务器 CentOS 7.5,PHP 5.6 下面都是最新的版本(支持到PHP5.6) 如需php7 下支持memcache扩展,请移步 https://www.cnblogs.com/h ...
- static与final区别
1. final final类不能被继承,没有子类,final类中的方法默认是final的 final方法不能被子类的方法复盖,但可以被继承 final成员变量表示常量,只能被赋值一次,赋值后不能 ...