C#用来连接oracle数据库的基本类:

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Configuration;
  6. using System.Data;
  7. using Oracle.DataAccess.Client;
  8.  
  9. namespace DLL.Base
  10. {
  11. /// <summary>
  12. /// oracle数据库基础类
  13. /// </summary>
  14. public class OracleDBContent
  15. {
  16. #region 私有
  17. #region 私有属性
  18. /// <summary>
  19. /// 获取数据库连接字符串
  20. /// </summary>
  21. private static string _connectstring = ConfigurationManager.ConnectionStrings["OraConn"].ConnectionString;
  22. #endregion
  23.  
  24. #region 私有方法
  25. /// <summary>
  26. /// 获取数据(查询)
  27. /// </summary>
  28. /// <param name="sql">要执行的SQL语句</param>
  29. /// <returns></returns>
  30. private DataSet _GET(string sql)
  31. {
  32. try
  33. {
  34. DataSet dt = new DataSet();
  35. OracleConnection connect = new OracleConnection(_connectstring);
  36. connect.Open();
  37. OracleDataAdapter db = new OracleDataAdapter(sql, connect);
  38. db.Fill(dt);
  39. connect.Close();
  40. return dt;
  41. }
  42. catch (Exception ex)
  43. {
  44. throw new Exception(ex.Message);
  45. }
  46. }
  47.  
  48. /// <summary>
  49. /// 执行SQl语句(增、删、改)
  50. /// </summary>
  51. /// <param name="sql">要执行的SQl语句</param>
  52. /// <returns></returns>
  53. private bool _EXCUTE(string sql)
  54. {
  55. try
  56. {
  57. OracleConnection connect = new OracleConnection(_connectstring);
  58. OracleCommand cmd = new OracleCommand();
  59. cmd.Connection = connect;
  60. cmd.CommandText = sql;
  61. connect.Open();
  62. cmd.ExecuteNonQuery();
  63. connect.Close();
  64. return true;
  65. }
  66. catch (Exception ex)
  67. {
  68. throw new Exception(ex.Message);
  69. }
  70. }
  71. #endregion
  72. #endregion
  73.  
  74. #region 公共方法
  75. /// <summary>
  76. /// 查询
  77. /// </summary>
  78. /// <param name="sql">数据库查询语句</param>
  79. /// <returns></returns>
  80. public virtual DataSet GetData(string sql)
  81. {
  82. try
  83. {
  84. string sqlstr = sql;
  85. return _GET(sqlstr);
  86. }
  87. catch (Exception ex)
  88. {
  89. throw new Exception(ex.Message);
  90. }
  91. }
  92.  
  93. /// <summary>
  94. /// 新增
  95. /// </summary>
  96. /// <param name="sql">新增语句</param>
  97. /// <returns></returns>
  98. public virtual bool Insert(string sql)
  99. {
  100. try
  101. {
  102. return _EXCUTE(sql);
  103. }
  104. catch (Exception ex)
  105. {
  106. throw new Exception(ex.Message);
  107. }
  108. }
  109.  
  110. /// <summary>
  111. /// 删除
  112. /// </summary>
  113. /// <param name="sql">删除语句</param>
  114. /// <returns></returns>
  115. public virtual bool Delete(string sql)
  116. {
  117. try
  118. {
  119. return _EXCUTE(sql);
  120. }
  121. catch (Exception ex)
  122. {
  123. throw new Exception(ex.Message);
  124. }
  125. }
  126.  
  127. /// <summary>
  128. /// 更新
  129. /// </summary>
  130. /// <param name="sql">更新语句</param>
  131. /// <returns></returns>
  132. public virtual bool Update(string sql)
  133. {
  134. try
  135. {
  136. return _EXCUTE(sql);
  137. }
  138. catch (Exception ex)
  139. {
  140. throw new Exception(ex.Message);
  141. }
  142. }
  143. #endregion
  144. }
  145. }

(Web.config或App.config)配置文件中数据库连接的配置:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <configuration>
  3. <connectionStrings>
  4. <!--测试数据库-->
  5. <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;"/>
  6. </connectionStrings>
  7. <system.web>
  8. <compilation debug="true" targetFramework="4.0" />
  9. </system.web>
  10. <system.serviceModel>
  11. <behaviors>
  12. <serviceBehaviors>
  13. <behavior>
  14. <!-- 为避免泄漏元数据信息,请在部署前将以下值设置为 false 并删除上面的元数据终结点 -->
  15. <serviceMetadata httpGetEnabled="true"/>
  16. <!-- 要接收故障异常详细信息以进行调试,请将以下值设置为 true。在部署前设置为 false 以避免泄漏异常信息 -->
  17. <serviceDebug includeExceptionDetailInFaults="false"/>
  18. </behavior>
  19. </serviceBehaviors>
  20. </behaviors>
  21. <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
  22. </system.serviceModel>
  23. <system.webServer>
  24. <modules runAllManagedModulesForAllRequests="true"/>
  25. </system.webServer>
  26.  
  27. </configuration>

C#连接Oracle数据库基本类的更多相关文章

  1. java连接Oracle数据库

    Oracle数据库先创建一个表和添加一些数据 1.先在Oracle数据库中创建一个student表: create table student ( id ) not null primary key, ...

  2. 记录排查解决Hubble.Net连接Oracle数据库建立镜像库数据丢失的问题

    起因 前几天在弄Hubble连接Oracle数据库,然后在mongodb中建立一个镜像数据库; 发现一个问题,原本数据是11W,但是镜像库中只有6w多条; 刚开始以为是没运行好,又rebuild了一下 ...

  3. NodeJs连接Oracle数据库

    nodejs连接oracle数据库,各个平台的官方详情文档:https://github.com/oracle/node-oracledb/blob/master/INSTALL.md 我的nodej ...

  4. jdbc连接oracle数据库

    /*** 通过改变配置文件来连接不同数据库*/package com.xykj.jdbc; import static org.junit.Assert.*; import java.io.Input ...

  5. 用VS连接oracle数据库时ORA-12504错误

    在用VS2008连接oracle数据库时,可能会出现: ORA-12504: TNS: 监听程序在 CONNECT_DATA 中未获得 SERVICE_NAME 只需在web.config文件Data ...

  6. ASP.NET连接Oracle数据库的步骤详解(转)

    ASP.NET连接Oracle数据库的步骤详解   本文我们主要介绍了ASP.NET连接Oracle数据库的步骤及每个步骤需要进行的设置,希望能够对您有所帮助.   在用ASP.NET开发应用程序时, ...

  7. 64 位win 7或windows 8下的visual studio不能连接Oracle数据库调试网站的问题

    在64 位win 7或windows 8系统下,visual studio直接F5运行网站调试,你会发现不能连接Oracle数据库,会报一个“ORA-06413: Connection not ope ...

  8. [原创]安装Oracle 11gR2,以及如何在win8下使用plsql develper连接Oracle数据库 ,在这里和大家分享下

    一,关于win8下安装Oracle 11gR2 1.我下载的是Oracle_11gR2_win64.其中有两个包: 注意:在解压了之后将:win64_11gR2_database_2of2\datab ...

  9. 用Navicat连接Oracle数据库时报错ORA-28547:connection to server failed,probable Oracle Net admin error

    用Navicat连接Oracle数据库时出现如下错误 上网一查原来是oci.dll版本不对.因为Navicat是通过Oracle客户端连接Oracle服务器的,Oracle的客户端分为两种,一种是标准 ...

随机推荐

  1. 如果有三个Bool型变量,请写出一程序得知其中有2个以上变量的值是true

    下面这篇文章是从StackOverflow来的.LZ面试的时候遇到了一道面试题:“如果有三个Bool型变量,请写出一程序得知其中有2个以上变量的值是true”,于是LZ做了下面的这样的程序: bool ...

  2. C#动态编译、执行代码

    在开始之前,先熟悉几个类及部分属性.方法:CSharpCodeProvider.ICodeCompiler.CompilerParameters.CompilerResults.Assembly. 一 ...

  3. 梯度下降算法的一点认识(Ng第一课)

    昨天开始看Ng教授的机器学习课,发现果然是不错的课程,一口气看到第二课. 第一课 没有什么新知识,就是机器学习的概况吧. 第二课 出现了一些听不太懂的概念.其实这堂课主要就讲了一个算法,梯度下降算法. ...

  4. Objective-C中的@dynamic

    一.@dynamic与@synthesize的区别 @property有两个对应的词,一个是@synthesize,一个是@dynamic.如果@synthesize和@dynamic都没写,那么默认 ...

  5. Linux 内核优化

    声明:本文档来自互联网整理部份加自已实验部份所得: TCP 相关部份   经常使用名词说明: retries(再试).   TCP server <---> client通信状态      ...

  6. SQL 常用基础语句

    1.SQL SELECT 语句 语法:SELECT    列名称    FROM    表名称 2.SQL SELECT DISTINCT 语句 语法:SELECT    DISTINCT    列名 ...

  7. 利用CSS3特性巧妙实现漂亮的DIV箭头

    DIV箭头用于表现DIV内容的指向,是使用非常普遍的一种表现形式,例如新浪微博的消息转发: 还有傲游网站的导航条: 像傲游账户上方这种箭头更需要多幅图片以表现箭头和hover的效果. 传统的实现方式都 ...

  8. matlab GUI之常用对话框(一)-- uigetfile\ uiputfile \ uisetcolor \ uisetfont

    常用对话框(一) 1.uigetfile  文件打开对话框 调用格式:      [FileName,PathName,FilterIndex]=uigetfile or     [FileName, ...

  9. CKEditor + CKFinder 实现编辑上传图片配置 (二)

    CKEditor + CKFinder 实现编辑上传图片配置 (二) 上传图片时,如果上传的图片过大,默认情况情况下回自动裁剪,代码如图 \ckfinder\config.php 目录下的配置文件co ...

  10. 前自加(++a)与后自加(a++)的差别

    自加是自己加1的操作.比如a++ 是a+1 ,变量a变成了 a+1的值. 如果是简单的只做 a++:或者++a的语句,效果是一样的. 但是如果嵌入到复杂的语句中,比如 b = a++: 和 b = + ...