zoukankan      html  css  js  c++  java
  • OracleHelper.cs

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    using System.Configuration;
    using System.Data;
    using System.Data.OracleClient;

    namespace AirplaneTicketSubscribeObject.DAL
    {
    /// <summary>
    /// OracleServer数据库访问的通用工具类
    /// </summary>
    public abstract class OracleHelper
    {
    //只读的静态数据库连接字符串
    public static readonly string connString = ConfigurationManager.ConnectionStrings["OracleStr"].ConnectionString;

    #region 执行 增 删 改
    /// <summary>
    /// 执行 增 删 改
    /// </summary>
    /// <param name="Oracle">要执行的Oracle</param>
    /// <param name="param">参数</param>
    /// <returns>影响行数</returns>
    public static int ExecuteNonQuery(string sql,params OracleParameter[] param)
    {
    //实例化连接对象,并指定连接字符串,自动释放资源,不用关闭
    using (OracleConnection conn = new OracleConnection(connString))
    {
    //实例化命令对象,指定Oracle,与连接对象
    using (OracleCommand cmd = new OracleCommand(sql, conn))
    {
    //如果有参数
    if (param != null)
    {
    //批量添加参数
    cmd.Parameters.AddRange(param);
    }
    //打开连接
    conn.Open();
    //执行Oracle并返回影响行数
    return cmd.ExecuteNonQuery();
    }
    }
    }
    #endregion

    #region 执行 查询
    /// <summary>
    /// 执行 查询
    /// </summary>
    /// <param name="Oracle">要执行的Oracle</param>
    /// <param name="param">参数</param>
    /// <returns>数据集</returns>
    public static OracleDataReader ExecuteReader(string Oracle,params OracleParameter[] param)
    {
    //实例化连接对象,并指定连接字符串
    OracleConnection conn = new OracleConnection(connString);
    //实例化命令对象,指定Oracle,与连接对象
    using (OracleCommand cmd = new OracleCommand(Oracle, conn))
    {
    //如果有参数
    if (param != null)
    {
    //批量添加参数
    cmd.Parameters.AddRange(param);
    }
    //打开连接
    conn.Open();
    //执行Oracle并返回影响行数,如果将返回的OracleDataReader关闭时也将关闭连接
    return cmd.ExecuteReader(CommandBehavior.CloseConnection);
    }
    }

    /// <summary>
    /// 执行查询存储过程,并且返回一个OracleDataReader对象(使用OracleDataReader对象执行)
    /// </summary>
    /// <param name="sql">存储过程名</param>
    /// <param name="ps">存储过程中需要的参数</param>
    /// <returns>读取器对象</returns>
    public static OracleDataReader ExecuteReaderProc(string Oracle, params OracleParameter[] param)
    {
    //实例化连接对象,并指定连接字符串
    OracleConnection conn = new OracleConnection(connString);
    //实例化命令对象,指定Oracle,与连接对象
    using (OracleCommand cmd = new OracleCommand(Oracle, conn))
    {
    //如果有参数
    if (param != null)
    {
    //批量添加参数
    cmd.Parameters.AddRange(param);
    }
    //打开连接
    conn.Open();
    cmd.CommandType = CommandType.StoredProcedure;
    //执行Oracle并返回影响行数,如果将返回的OracleDataReader关闭时也将关闭连接
    return cmd.ExecuteReader(CommandBehavior.CloseConnection);
    }
    }

    #endregion

    #region 完成数据的查询,返回DataTable
    /// <summary>
    /// 完成数据的查询,返回DataTable
    /// </summary>
    /// <param name="Oracle">要执行的Oracle</param>
    /// <param name="param">参数</param>
    /// <returns>DataTable</returns>
    public static DataTable GetTable(string sql,params OracleParameter[] param)
    {
    //实例化连接对象,并指定连接字符串,自动释放资源,不用关闭
    using (OracleConnection conn = new OracleConnection(connString))
    {
    OracleDataAdapter adp = new OracleDataAdapter(sql, conn);
    if (param != null)
    {
    adp.SelectCommand.Parameters.AddRange(param);
    }
    DataTable dt = new DataTable();
    adp.Fill(dt);
    return dt;
    }
    }
    #endregion
    #region 返回首行首列
    /// <summary>
    /// 返回首行首列
    /// </summary>
    /// <param name="OracleSql">要执行的OracleSql</param>
    /// <param name="param">参数</param>
    /// <returns></returns>
    public static int ExecuteCount(string OracleSql, params OracleParameter[] param)
    {
    //实例化连接对象,并指定连接字符串
    OracleConnection conn = new OracleConnection(connString);
    //实例化命令对象,指定Oracle,与连接对象
    using (OracleCommand cmd = new OracleCommand(OracleSql, conn))
    {
    //如果有参数
    if (param != null)
    {
    //批量添加参数
    cmd.Parameters.AddRange(param);
    }
    //打开连接
    conn.Open();
    //执行Oracle并返回影响行数,如果将返回的OracleDataReader关闭时也将关闭连接
    return Convert.ToInt32(cmd.ExecuteScalar());
    }
    }
    #endregion

    internal static void Close()
    {
    throw new NotImplementedException();
    }
    }

    }

  • 相关阅读:
    今天遇到的i++问题之记录
    JS实现表单输入Enter键转换焦点框
    点击不同链接,显示同一个页面下的不同页面
    jQuery获取属性之自己遇到的问题
    数据结构2 二叉树的高度和宽度
    Android 实现两个list分别出现(在某一时刻只出现一个控件)
    <转>Android开发使输入框点击弹出日期选择对话框的方法
    Java 图片转字节流 实现 图片->字节流(字符串)->图片
    Android 动态添加Spinner(.java文件内实现) 实现 改变spinner 内文字属性
    Android 动态添加线性布局(.java文件内) 实现控件按比例分割空间
  • 原文地址:https://www.cnblogs.com/huangf714/p/5876312.html
Copyright © 2011-2022 走看看