1 引用Oracle.DataAccess.dll

2 App.Config中配置连接字符串:

Data Source=(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
);User Id=scott;Password=XXXXX

3 建立操作数据库的类OracleHelper.cs

public class OracleHelper
{
private static readonly string connStr = ConfigurationManager.ConnectionStrings["dbconnStr"].ConnectionString; //创建连接
public static OracleConnection CreateConnection()
{
OracleConnection conn = new OracleConnection(connStr);
conn.Open();
return conn;
} //使用已有连接 非查询
public static int ExecuteNonQuery(OracleConnection conn, string sql, params OracleParameter[] parameters)
{
using (OracleCommand cmd = new OracleCommand(sql, conn))
{
cmd.Parameters.AddRange(parameters);
return cmd.ExecuteNonQuery();
}
} //使用已有连接 非查询 带事务
public static int ExecuteNonQuery(OracleConnection conn, OracleTransaction tx, string sql, params OracleParameter[] parameters)
{
using (OracleCommand cmd = new OracleCommand(sql, conn))
{
cmd.Transaction = tx;
cmd.Parameters.AddRange(parameters);
return cmd.ExecuteNonQuery();
}
} //自己创建连接 非查询
public static int ExecuteNonQuery(string sql, params OracleParameter[] parameters)
{
using (OracleConnection conn = CreateConnection())
{
return ExecuteNonQuery(conn, sql, parameters);
}
} //使用已有连接 非查询 带存储过程(返回影响行数或输出参数)
public static object ExecuteNonQueryProcedure(OracleConnection conn, string proName, params OracleParameter[] parameters)
{
using (OracleCommand cmd = new OracleCommand(proName, conn))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddRange(parameters);
return cmd.ExecuteNonQuery();
}
} //自己创建连接 非查询 带存储过程(返回影响行数或输出参数)
public static object ExecuteNonQueryProcedure(string proName, params OracleParameter[] parameters)
{
using (OracleConnection conn = CreateConnection())
{
return ExecuteNonQueryProcedure(conn, proName, parameters);
}
} //使用已有连接 单查询
public static object ExecuteScalar(OracleConnection conn, string sql, params OracleParameter[] parameters)
{
using (OracleCommand cmd = new OracleCommand(sql, conn))
{
cmd.Parameters.AddRange(parameters);
return cmd.ExecuteScalar();
}
} //自己创建连接 单查询
public static object ExecuteScalar(string sql, params OracleParameter[] parameters)
{
using (OracleConnection conn = CreateConnection())
{
return ExecuteScalar(conn, sql, parameters);
}
} //使用已有连接 多查询
public static DataTable ExecuteReader(OracleConnection conn, string sql, params OracleParameter[] parameters)
{
DataTable table = new DataTable();
using (OracleCommand cmd = new OracleCommand(sql, conn))
{
cmd.Parameters.AddRange(parameters);
OracleDataReader reader = cmd.ExecuteReader();
table.Load(reader);
}
return table;
} //自己创建连接 多查询
public static DataTable ExecuteReader(string sql, params OracleParameter[] parameters)
{
using (OracleConnection conn = CreateConnection())
{
return ExecuteReader(conn, sql, parameters);
}
}
}

OracleHelper.cs

4 带有自增触发器的插入:

TM_USER(ID,NAME,Constraint PRI_TM_USER PRIMARY KEY(ID) )

INSERT INTO TM_USER(NAME) VALUES ('NO id');

INSERT INTO TM_USER(ID,NAME) VALUES (1, 'id no use');

ID NAME
---------- --------------------
1 NO id
2 id no use

操作Oracle 一条龙的更多相关文章

  1. ASP.NET操作ORACLE数据库之模糊查询

    ASP.NET操作ORACLE数据库之模糊查询 一.ASP.NET MVC利用OracleHelper辅助类操作ORACLE数据库 //连接Oracle数据库的连接字符串 string connect ...

  2. Java操作Oracle

    public class DBCon { // 数据库驱动对象 public static final String DRIVER = "oracle.jdbc.driver.OracleD ...

  3. Qt操作Oracle

    很久以前写过<Qt数据库操作>的一篇文章,在操作数据库的时候,温习了一下!感觉很好!但在操作Oracle数据库时又遇到了一些问题.在使用QSqlRelationalTableModel操纵 ...

  4. php操作oracle的方法类集全

    在网上开始找php中操作oracle的方法类~ 果然找到一个用php+oracle制作email表以及插入查询的教程,赶忙点开来看,从头到尾仔细的看了一遍,还没开始操作,便觉得收获很大了.地址在此:h ...

  5. Java操作Oracle数据库以及调用存储过程

    操作Oracle数据库 publicclass DBConnection {     //jdbc:oracle:thin:@localhost:1521:orcl     publicstaticf ...

  6. PHP操作Oracle数据库

    原文出处 (这是来自“百度文库”中的文章写得很不错) PHP操作Oracle数据库(OCI数据抽象层)OCI(Oracle 8 Call-Interface)是PHP中内置的数据库抽象层函数.下面针对 ...

  7. Python使用cx_Oracle模块连接操作Oracle数据库

    1. 简单介绍 cx_Oracle 是一个用来连接并操作 Oracle 数据库的 Python 扩展模块, 支持包含 Oracle 9.2 10.2 以及 11.1 等版本号 2.安装 最好是去官网h ...

  8. mybatis批量增、删、改(更新)操作oracle和mysql批量写法小记

    前言:用mybatis也好几年了,mybatis在批量的增删操作也写起来也是比较简单的,只有批量更新这一块是特别坑,特此记录. 注:本文主要用来记录oracle和mysql数据库在使用mybatis的 ...

  9. Java java jdbc thin远程连接并操作Oracle数据库

    JAVA jdbc thin远程连接并操作Oracle数据库 by:授客 QQ:1033553122 测试环境 数据库:linux 下Oracle_11g_R2 编码工具:Eclipse 编码平台:W ...

随机推荐

  1. INSPIRED启示录 读书笔记 - 第26章 合理运用敏捷方法

    十大秘诀 1.产品经理即是产品负责人,他代表了客户的需求,因而需要与产品开发团队保持密切的联系,协助督促开发进程,及时解决出现的问题 2.使用敏捷方法绝不等于省略产品规划.规划周期应该适度缩短,反复迭 ...

  2. INSPIRED启示录 读书笔记 - 第17章 产品人物角色

    理解目标用户 人物角色又称为用户特征记录(user profile),是指通过与用户沟通交流,确定典型的目标用户类型,在理解各类目标用户的特征的基础上建立的人物原型 为了发掘潜在的人物角色,产品经理必 ...

  3. Struts2全局异常处理

    1.在struts.xml中配置全局异常处理 在Action中抛出异常,此异常可以是action自己抛的,也可以是Service抛出来的,都会跳转到全局异常中,只有在当前Action中配置域全局异常返 ...

  4. Spark总结1

    安装jdk 下载spark安装包 解压 重点来了: 配置 spark: 进入 conf   ----> spark-env.sh.template文件 cd conf/ mv spark-env ...

  5. java assert的使用并深入解析Java的assertion

    java assert的使用并深入解析Java的assertion 分类: java2012-12-05 13:32 2020人阅读 评论(0) 收藏 举报 原文出处:http://blog.csdn ...

  6. UOJ222 【NOI2016】区间

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...

  7. flsk-SQLALchemy

    SQLALchemy 一.介绍     SQLALchemy是一个基于Python实现的ORM框架.该框架是建立在DB API之上,使用关系对象映射进行数据库操作     简言之便就是:将类和对象转换 ...

  8. R语言可视化

    R语言基础(一) 可视化基础   ##数据获取 x1=round(runif(100,min=80,max=100)) x2=round(rnorm(100,mean=80, sd=7)) x3=ro ...

  9. 微信支付:微信支付遇到的坑:jssdk,phpdemo,微信支付提示{"errMsg":"chooseWXPay:fail"}

    微信支付:微信支付遇到的坑:jssdk,phpdemo 使用微信支付,真是变态,如果不是微信用户多,我才不适配微信支付,我就在想:为什么没人用我支付宝的[点点虫]呢.一个小小的“/”的误差,都调不起微 ...

  10. eclispe中使用 maven build启动maven项目和打包项目

    1.右键项目2.点击run as按钮 3.点击run configurations 4.配置如下: =============================加油加油加油加油加油加油========= ...