C#连接Oracle数据库基本类
C#用来连接oracle数据库的基本类:
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Configuration;
- using System.Data;
- using Oracle.DataAccess.Client;
- namespace DLL.Base
- {
- /// <summary>
- /// oracle数据库基础类
- /// </summary>
- public class OracleDBContent
- {
- #region 私有
- #region 私有属性
- /// <summary>
- /// 获取数据库连接字符串
- /// </summary>
- private static string _connectstring = ConfigurationManager.ConnectionStrings["OraConn"].ConnectionString;
- #endregion
- #region 私有方法
- /// <summary>
- /// 获取数据(查询)
- /// </summary>
- /// <param name="sql">要执行的SQL语句</param>
- /// <returns></returns>
- private DataSet _GET(string sql)
- {
- try
- {
- DataSet dt = new DataSet();
- OracleConnection connect = new OracleConnection(_connectstring);
- connect.Open();
- OracleDataAdapter db = new OracleDataAdapter(sql, connect);
- db.Fill(dt);
- connect.Close();
- return dt;
- }
- catch (Exception ex)
- {
- throw new Exception(ex.Message);
- }
- }
- /// <summary>
- /// 执行SQl语句(增、删、改)
- /// </summary>
- /// <param name="sql">要执行的SQl语句</param>
- /// <returns></returns>
- private bool _EXCUTE(string sql)
- {
- try
- {
- OracleConnection connect = new OracleConnection(_connectstring);
- OracleCommand cmd = new OracleCommand();
- cmd.Connection = connect;
- cmd.CommandText = sql;
- connect.Open();
- cmd.ExecuteNonQuery();
- connect.Close();
- return true;
- }
- catch (Exception ex)
- {
- throw new Exception(ex.Message);
- }
- }
- #endregion
- #endregion
- #region 公共方法
- /// <summary>
- /// 查询
- /// </summary>
- /// <param name="sql">数据库查询语句</param>
- /// <returns></returns>
- public virtual DataSet GetData(string sql)
- {
- try
- {
- string sqlstr = sql;
- return _GET(sqlstr);
- }
- catch (Exception ex)
- {
- throw new Exception(ex.Message);
- }
- }
- /// <summary>
- /// 新增
- /// </summary>
- /// <param name="sql">新增语句</param>
- /// <returns></returns>
- public virtual bool Insert(string sql)
- {
- try
- {
- return _EXCUTE(sql);
- }
- catch (Exception ex)
- {
- throw new Exception(ex.Message);
- }
- }
- /// <summary>
- /// 删除
- /// </summary>
- /// <param name="sql">删除语句</param>
- /// <returns></returns>
- public virtual bool Delete(string sql)
- {
- try
- {
- return _EXCUTE(sql);
- }
- catch (Exception ex)
- {
- throw new Exception(ex.Message);
- }
- }
- /// <summary>
- /// 更新
- /// </summary>
- /// <param name="sql">更新语句</param>
- /// <returns></returns>
- public virtual bool Update(string sql)
- {
- try
- {
- return _EXCUTE(sql);
- }
- catch (Exception ex)
- {
- throw new Exception(ex.Message);
- }
- }
- #endregion
- }
- }
(Web.config或App.config)配置文件中数据库连接的配置:
- <?xml version="1.0" encoding="utf-8"?>
- <configuration>
- <connectionStrings>
- <!--测试数据库-->
- <add name="OraConn" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.172)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=Test)));User Id=sa;Password=test123;"/>
- </connectionStrings>
- <system.web>
- <compilation debug="true" targetFramework="4.0" />
- </system.web>
- <system.serviceModel>
- <behaviors>
- <serviceBehaviors>
- <behavior>
- <!-- 为避免泄漏元数据信息,请在部署前将以下值设置为 false 并删除上面的元数据终结点 -->
- <serviceMetadata httpGetEnabled="true"/>
- <!-- 要接收故障异常详细信息以进行调试,请将以下值设置为 true。在部署前设置为 false 以避免泄漏异常信息 -->
- <serviceDebug includeExceptionDetailInFaults="false"/>
- </behavior>
- </serviceBehaviors>
- </behaviors>
- <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
- </system.serviceModel>
- <system.webServer>
- <modules runAllManagedModulesForAllRequests="true"/>
- </system.webServer>
- </configuration>
C#连接Oracle数据库基本类的更多相关文章
- java连接Oracle数据库
Oracle数据库先创建一个表和添加一些数据 1.先在Oracle数据库中创建一个student表: create table student ( id ) not null primary key, ...
- 记录排查解决Hubble.Net连接Oracle数据库建立镜像库数据丢失的问题
起因 前几天在弄Hubble连接Oracle数据库,然后在mongodb中建立一个镜像数据库; 发现一个问题,原本数据是11W,但是镜像库中只有6w多条; 刚开始以为是没运行好,又rebuild了一下 ...
- NodeJs连接Oracle数据库
nodejs连接oracle数据库,各个平台的官方详情文档:https://github.com/oracle/node-oracledb/blob/master/INSTALL.md 我的nodej ...
- jdbc连接oracle数据库
/*** 通过改变配置文件来连接不同数据库*/package com.xykj.jdbc; import static org.junit.Assert.*; import java.io.Input ...
- 用VS连接oracle数据库时ORA-12504错误
在用VS2008连接oracle数据库时,可能会出现: ORA-12504: TNS: 监听程序在 CONNECT_DATA 中未获得 SERVICE_NAME 只需在web.config文件Data ...
- ASP.NET连接Oracle数据库的步骤详解(转)
ASP.NET连接Oracle数据库的步骤详解 本文我们主要介绍了ASP.NET连接Oracle数据库的步骤及每个步骤需要进行的设置,希望能够对您有所帮助. 在用ASP.NET开发应用程序时, ...
- 64 位win 7或windows 8下的visual studio不能连接Oracle数据库调试网站的问题
在64 位win 7或windows 8系统下,visual studio直接F5运行网站调试,你会发现不能连接Oracle数据库,会报一个“ORA-06413: Connection not ope ...
- [原创]安装Oracle 11gR2,以及如何在win8下使用plsql develper连接Oracle数据库 ,在这里和大家分享下
一,关于win8下安装Oracle 11gR2 1.我下载的是Oracle_11gR2_win64.其中有两个包: 注意:在解压了之后将:win64_11gR2_database_2of2\datab ...
- 用Navicat连接Oracle数据库时报错ORA-28547:connection to server failed,probable Oracle Net admin error
用Navicat连接Oracle数据库时出现如下错误 上网一查原来是oci.dll版本不对.因为Navicat是通过Oracle客户端连接Oracle服务器的,Oracle的客户端分为两种,一种是标准 ...
随机推荐
- 如果有三个Bool型变量,请写出一程序得知其中有2个以上变量的值是true
下面这篇文章是从StackOverflow来的.LZ面试的时候遇到了一道面试题:“如果有三个Bool型变量,请写出一程序得知其中有2个以上变量的值是true”,于是LZ做了下面的这样的程序: bool ...
- C#动态编译、执行代码
在开始之前,先熟悉几个类及部分属性.方法:CSharpCodeProvider.ICodeCompiler.CompilerParameters.CompilerResults.Assembly. 一 ...
- 梯度下降算法的一点认识(Ng第一课)
昨天开始看Ng教授的机器学习课,发现果然是不错的课程,一口气看到第二课. 第一课 没有什么新知识,就是机器学习的概况吧. 第二课 出现了一些听不太懂的概念.其实这堂课主要就讲了一个算法,梯度下降算法. ...
- Objective-C中的@dynamic
一.@dynamic与@synthesize的区别 @property有两个对应的词,一个是@synthesize,一个是@dynamic.如果@synthesize和@dynamic都没写,那么默认 ...
- Linux 内核优化
声明:本文档来自互联网整理部份加自已实验部份所得: TCP 相关部份 经常使用名词说明: retries(再试). TCP server <---> client通信状态 ...
- SQL 常用基础语句
1.SQL SELECT 语句 语法:SELECT 列名称 FROM 表名称 2.SQL SELECT DISTINCT 语句 语法:SELECT DISTINCT 列名 ...
- 利用CSS3特性巧妙实现漂亮的DIV箭头
DIV箭头用于表现DIV内容的指向,是使用非常普遍的一种表现形式,例如新浪微博的消息转发: 还有傲游网站的导航条: 像傲游账户上方这种箭头更需要多幅图片以表现箭头和hover的效果. 传统的实现方式都 ...
- matlab GUI之常用对话框(一)-- uigetfile\ uiputfile \ uisetcolor \ uisetfont
常用对话框(一) 1.uigetfile 文件打开对话框 调用格式: [FileName,PathName,FilterIndex]=uigetfile or [FileName, ...
- CKEditor + CKFinder 实现编辑上传图片配置 (二)
CKEditor + CKFinder 实现编辑上传图片配置 (二) 上传图片时,如果上传的图片过大,默认情况情况下回自动裁剪,代码如图 \ckfinder\config.php 目录下的配置文件co ...
- 前自加(++a)与后自加(a++)的差别
自加是自己加1的操作.比如a++ 是a+1 ,变量a变成了 a+1的值. 如果是简单的只做 a++:或者++a的语句,效果是一样的. 但是如果嵌入到复杂的语句中,比如 b = a++: 和 b = + ...