`
long546324
  • 浏览: 207110 次
  • 性别: Icon_minigender_1
  • 来自: 云南
社区版块
存档分类
最新评论

.Net连接Oracle数据库的一个助手类

    博客分类:
  • .net
阅读更多
web.config文件配置
 <connectionStrings>
    <add name="connStr" connectionString="Data Source=long;User ID=stud;Password=stud;"/>
  </connectionStrings>

DBHelper.cs文件
using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using System.Data;
using System.Data.OracleClient;
namespace OraHelper
{
    public class DBHelper
    {
        public static OracleCommand cmd = null;
        public static OracleConnection conn = null;
        public static string connstr = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
        public DBHelper()
        {}
        #region 建立数据库连接对象
        /// <summary>
        /// 建立数据库连接
        /// </summary>
        /// <returns>返回一个数据库的连接OracleConnection对象</returns>
        public static OracleConnection init()
        {
            try
            {
                conn = new OracleConnection(connstr);
                if (conn.State != ConnectionState.Open)
                {
                    conn.Open();
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message.ToString());
            }
            return conn;
        }
        #endregion

        #region 设置OracleCommand对象
          /// <summary>
        /// 设置OracleCommand对象       
        /// </summary>
        /// <param name="cmd">OracleCommand对象 </param>
        /// <param name="cmdText">命令文本</param>
        /// <param name="cmdType">命令类型</param>
        /// <param name="cmdParms">参数集合</param>
        private static void SetCommand(OracleCommand cmd,string cmdText, CommandType cmdType, OracleParameter[] cmdParms)
        {
            cmd.Connection = conn;
            cmd.CommandText = cmdText;
            cmd.CommandType = cmdType;
            if (cmdParms != null)
            {
                cmd.Parameters.AddRange(cmdParms);
            }
        }
        #endregion

        #region 执行相应的sql语句,返回相应的DataSet对象
         /// <summary>
        /// 执行相应的sql语句,返回相应的DataSet对象
        /// </summary>
        /// <param name="sqlstr">sql语句</param>
        /// <returns>返回相应的DataSet对象</returns>
        public static DataSet GetDataSet(string sqlstr)
        {
            DataSet set = new DataSet();
            try
            {
                init();
                OracleDataAdapter adp = new OracleDataAdapter(sqlstr, conn);
                adp.Fill(set);
                conn.Close(); 
            }
            catch (Exception e)
            {
                throw new Exception(e.Message.ToString());
            }
            return set;
        }
        #endregion

        #region 执行相应的sql语句,返回相应的DataSet对象
         /// <summary>
        /// 执行相应的sql语句,返回相应的DataSet对象
       /// </summary>
        /// <param name="sqlstr">sql语句</param>
       /// <param name="tableName">表名</param>
        /// <returns>返回相应的DataSet对象</returns>
        public static DataSet GetDataSet(string sqlstr,string tableName)
        {
            DataSet set = new DataSet();
            try
            {
                init();
                OracleDataAdapter adp = new OracleDataAdapter(sqlstr, conn);
                adp.Fill(set,tableName);
                conn.Close();                
            }
            catch (Exception e)
            {
                throw new Exception(e.Message.ToString());
            }
            return set;
        }
        #endregion

        #region 执行不带参数sql语句,返回所影响的行数
        /// <summary>
        /// 执行不带参数sql语句,返回所影响的行数
        /// </summary>
        /// <param name="cmdstr">增,删,改sql语句</param>
        /// <returns>返回所影响的行数</returns>
        public static int ExecuteNonQuery(string cmdText)
        {
            int count;
            try
            {
                init();
                cmd = new OracleCommand(cmdText, conn);
                count = cmd.ExecuteNonQuery();
                conn.Close();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message.ToString());
            }
            return count;
        }
        #endregion

        #region 执行带参数sql语句或存储过程,返回所影响的行数
        /// <summary>
        ///  执行带参数sql语句或存储过程,返回所影响的行数
        /// </summary>
        /// <param name="cmdText">带参数的sql语句和存储过程名</param>
        /// <param name="cmdType">命令类型</param>
        /// <param name="cmdParms">参数集合</param>
        /// <returns>返回所影响的行数</returns>
        public static int ExecuteNonQuery(string cmdText, CommandType cmdType, OracleParameter[] cmdParms)
        {
            int count;
            try
            {
                init();
                cmd = new OracleCommand();
                SetCommand(cmd, cmdText, cmdType, cmdParms);
                count = cmd.ExecuteNonQuery();
                cmd.Parameters.Clear();
                conn.Close();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message.ToString());
            }
            return count;
        }
        #endregion

        #region 执行不带参数sql语句,返回一个从数据源读取数据的OracleDataReader对象
        /// <summary>
        /// 执行不带参数sql语句,返回一个从数据源读取数据的OracleDataReader对象
        /// </summary>
        /// <param name="cmdstr">相应的sql语句</param>
        /// <returns>返回一个从数据源读取数据的OracleDataReader对象</returns>
        public static OracleDataReader ExecuteReader(string cmdText)
        {
            OracleDataReader reader;
            try
            {
                init();
                cmd = new OracleCommand(cmdText, conn);                
                reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);

            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message.ToString());
            }
            return reader;
        }
        #endregion

        #region 执行带参数的sql语句或存储过程,返回一个从数据源读取数据的OracleDataReader对象
        /// <summary>
        /// 执行带参数的sql语句或存储过程,返回一个从数据源读取数据的OracleDataReader对象
        /// </summary>
        /// <param name="cmdText">sql语句或存储过程名</param>
        /// <param name="cmdType">命令类型</param>
        /// <param name="cmdParms">参数集合</param>
        /// <returns>返回一个从数据源读取数据的OracleDataReader对象</returns>
        public static OracleDataReader ExecuteReader(string cmdText, CommandType cmdType, OracleParameter[] cmdParms)
        {
            OracleDataReader reader;
            try
            {
                init();
                cmd = new OracleCommand();
                SetCommand(cmd, cmdText, cmdType, cmdParms);
                reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message.ToString());
            }
            return reader;
        }
        #endregion

        #region 执行不带参数sql语句,返回结果集首行首列的值object
        /// <summary>
        /// 执行不带参数sql语句,返回结果集首行首列的值object
        /// </summary>
        /// <param name="cmdstr">相应的sql语句</param>
        /// <returns>返回结果集首行首列的值object</returns>
        public static object ExecuteScalar(string cmdText)
        {
            object obj;
            try
            {
                init();
                cmd = new OracleCommand(cmdText, conn);
                obj = cmd.ExecuteScalar();
                conn.Close();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message.ToString());
            }
            return obj;
        }
        #endregion

        #region 执行带参数sql语句或存储过程,返回结果集首行首列的值object
        /// <summary>
        /// 执行带参数sql语句或存储过程,返回结果集首行首列的值object
        /// </summary>
        /// <param name="cmdText">sql语句或存储过程名</param>
        /// <param name="cmdType">命令类型</param>
        /// <param name="cmdParms">返回结果集首行首列的值object</param>
        /// <returns></returns>
        public static object ExecuteScalar(string cmdText, CommandType cmdType, OracleParameter[] cmdParms)
        {
            object obj;
            try
            {
                init();
                cmd = new OracleCommand();
                SetCommand(cmd, cmdText, cmdType, cmdParms);
                obj = cmd.ExecuteScalar();
                conn.Close();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message.ToString());
            }
            return obj;
        }
        #endregion
    }
}
2
0
分享到:
评论

相关推荐

    vb.net操作Oracle数据库增删改查以及存储过程调用1

    在连接 Oracle 数据库之前,我们需要首先创建一个 ADODB.Connection 对象,并且设置连接字符串。连接字符串的格式如下: ``` Provider=OraOLEDB.Oracle;Data Source=orcl;User Id=scott;Password=tiger; ``` 其中,...

    ASP.NET连接Oracle数据库完整实例(简单实例)

    ASP.NET连接Oracle数据库实例程序,根据sql.txt创建数据表后,更改WEB.config文件中Oracle字符串连接符中的数据库UID及PASSWORD,或许还需要再次引入System.Data.OracleClient,有问题可留言我

    VB.NET连接ORACLE数据库

    以下是对"VB.NET连接ORACLE数据库"这一主题的详细讲解: 首先,**Oracle.ManagedDataAccess** 是Oracle公司为.NET应用程序提供的一种管理型数据访问客户端,它允许开发者在不依赖Oracle客户端软件的情况下直接与...

    ASP.NET连接ORACLE数据库的方法及示例

    ASP.NET连接ORACLE数据库的方法及示例

    VB.NET连接oracle数据库

    以上就是使用VB.NET连接Oracle数据库的基本步骤和关键知识点。在实际开发中,还需要考虑异常处理、连接池管理、性能优化等方面的问题,确保应用的稳定性和效率。在Connect_Local_DataBase文件中,可能包含了一个本地...

    .NET连接Oracle数据库.docx

    ### .NET连接Oracle数据库 #### ADO.NET与数据访问 ADO.NET是.NET框架的一个核心组成部分,主要用于构建数据驱动的应用程序。它提供了一种统一的方法来访问各种类型的数据源,包括但不限于Microsoft SQL Server、...

    ADO.NET访问Oracle数据库类,及DBHelper

    在本案例中,`OraDBHelper.cs` 是一个自定义的C#类,它封装了使用ADO.NET连接和操作Oracle数据库的方法。`System.Data.OracleClient.dll` 是Oracle数据库驱动程序,它是ADO.NET框架的一部分,用于与Oracle数据库建立...

    asp.net与Oracle数据库进行增删改查

    在与Oracle数据库进行交互时,ASP.NET通常利用ADO.NET(一个.NET Framework的数据访问组件)来实现数据的增删改查操作。 在"asp.net与Oracle数据库进行增删改查"这个主题中,我们将探讨以下几个关键知识点: 1. **...

    asp.net 连接oracle数据库方法

    对于较新的.NET版本,可以使用OleDb连接Oracle数据库,这种方式更加灵活,适用于多种数据库系统。 #### 步骤1:定义OleDb连接字符串 连接字符串类似于OracleClient,但使用不同的格式。 ```csharp string ...

    net中使用ODP.net访问Oracle数据库(无客户端部署方法)

    此外,还需要从下载的压缩包中取出几个 dll 文件,包括 oci.dll、oraociicus11.dll、OraOps11w.dll 和 oraons.dll,这些文件都是 ODP.net 访问 Oracle 数据库所需要的。 在使用 ODP.net 访问 Oracle 数据库时,还...

    ASP.Net连接Oracle数据库的方法

    asp.net连接oracle数据库的方法,得到了如下代码。这段代码打开了MyTable表,并把操作员的名字列出。字段类型是OracleString。读取的时候用的是字段编号,我不知道怎么使用字段名来读取某字段的内容。

    用Asp.Net连接Oracel数据库的方法全

    使用 Asp.Net 连接 Oracle 数据库需要添加两个引用,分别是 System.Data.OracleClient 和 System.Data。这两个引用是 Asp.Net 连接 Oracle 数据库的基础。 二、创建连接字符串 连接字符串是连接 Oracle 数据库的...

    不用装Oracle客户端实现C#.NET连接远程Oracle数据库的一种方法

    在.NET开发环境中,连接Oracle数据库通常需要安装Oracle客户端,但这种方式有时会带来额外的系统负担和配置复杂性。本文将详细介绍一种无需安装Oracle客户端,仅使用C#.NET就能连接远程Oracle数据库的方法,这对于轻...

    基于.NET的oracle数据库访问程序

    在.NET中,连接Oracle数据库通常通过Oracle.DataAccess.Client命名空间下的OracleConnection类实现。首先需要配置数据源(Data Source),用户名(User ID)和密码(Password),然后创建连接字符串,最后用该字符...

    c# asp.net 读取 连接oracle数据库源码(不用安装oracle客户端)

    ODP.NET是一个完全托管的数据提供者,可以直接与Oracle数据库进行通信,而不需要本地Oracle客户端软件。它包含在Oracle数据访问组件(Oracle.DataAccess.Client)中,可以通过NuGet包管理器来安装。 1. **ODP.NET的...

    asp.net连接oracle说明

    在ASP.NET中连接Oracle数据库可能会遇到一些问题,特别是当系统提示“System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本”时,这通常是由于.NET应用程序与Oracle客户端版本不兼容导致的。...

    VB.Net连接各种数据库的几种方法

    ### VB.Net连接各种数据库的方法详解 #### 一、引言 随着信息技术的不断发展,数据库作为存储和管理数据的核心工具,在软件开发中扮演着至关重要的角色。Microsoft Visual Basic.NET(简称VB.NET),作为一款强大...

    .net 程序链接Oracle数据库Demo

    在.NET程序中连接Oracle数据库时,你需要创建一个连接字符串,其中包含服务器名、实例名、用户名、密码等信息。例如: ```csharp string connectionString = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)...

    .net访问oracle数据库的方法(不安装oracle客户端)

    2. **使用ADO.NET访问Oracle数据库**:有了以上配置,我们就可以在.NET代码中使用`System.Data.OracleClient`命名空间下的类来访问Oracle数据库了。示例代码如下: ```csharp using System; using System.Data; ...

    ASP.NET Oracle连接字符串

    本文将详细探讨如何设置一个适用于ASP.NET环境下的Oracle数据库连接字符串,并解析其中各项参数的意义。 #### 一、连接字符串的基本格式 连接字符串是用于指定应用程序如何连接到数据库的一组参数。对于Oracle...

Global site tag (gtag.js) - Google Analytics