wind8 系统选择项目时生成目标平台选择为X86 报错
“System.Exception”类型的未经处理的异常在 WindowsFormsApplication1.exe 中发生

其他信息: 尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装  位 Oracle 客户端组件的情况下以  位模式运行,将出现此问题

选择x64不报错

或者直接安装 ODTwithODAC1120320_32bit vs连接oracle插件

using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.OracleClient;

/// <summary>
///OraDBHelper 的摘要说明
/// </summary>

public class OraDBHelper
{
    public static OracleCommand cmd = null;
    public static OracleConnection conn = null;
    public static string connstr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
    public OraDBHelper()
    { }
    #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
}

Oracle DbHelper的更多相关文章

  1. Oracle DBHelper 第二版

    public static class OracleDBHelper { public static OracleCommand cmd = null; public static OracleCon ...

  2. 通用超级强大的基于Oracle数据库的代码生成器

    项目中使用了Oracle数据库,命名基本规范为表名和字段名全部大写,用下划线分割各个单词: 如“BASE_USER_LOGON_EXTEND”这个表表示用户登录的扩展表. 基于这个规范,通用权限管理系 ...

  3. 通用权限底层研究:Web应用限制IP访问的功能实现

    如果你的web应用受到恶意扫描或攻击,你会怎么处理呢?大多数时候从应用日志里可以看到恶意扫描或攻击,遇到此类情况,如有一个可以进行IP访问控制的功能就好些了. 现将在MVC下实现的一个IP访问限制功能 ...

  4. 第六节:反射(几种写法、好处和弊端、利用反射实现IOC)

    一. 加载dll,读取相关信息 1. 加载程序集的三种方式 调用Assembly类下的三个方法:Load.LoadFile.LoadFrom. //1.1 Load方法:动态默认加载当前路径下的(bi ...

  5. c#连接oracle数据库 DBHelper

    闲着没事自己写了一个OracleHelper类,希望大神给点建议优化 using System; using System.Collections.Generic; using System.Linq ...

  6. 兼容SQLSERVER、Oracle、MYSQL、SQLITE的超级DBHelper

    本示例代码的关键是利用.net库自带的DbProviderFactory来生产数据库操作对象. 从下图中,可以看到其的多个核心方法,这些方法将在我们的超级DBHelper中使用. 仔细研究,你会发现每 ...

  7. Elinq+Oracle

    这份工作一直以来都用Oracle数据库,先前都是直接用的ADO.NET但是写包跟存储过程是一个很头疼的事情,满足不了快速开发的需求. 一直常识找比较好用的ORM,先前用的Entity Framewor ...

  8. C#/ASP.NET完善的DBHelper,配套Model生成器

    支持Oracle.MSSQL.MySQL.SQLite四种数据库,支持事务,支持对象关系映射:已在多个项目中实际使用. 没有语法糖,学习成本几乎为0,拿来即用. DBHelper类完整代码: usin ...

  9. WPF根据Oracle数据库的表,生成CS文件小工具

    开发小工具的原因: 1.我们公司的开发是客户端用C#,服务端用Java,前后台在通讯交互的时候,会用到Oracle数据库的字段,因为服务器端有公司总经理开发的一个根据Oracle数据库的表生成的cla ...

随机推荐

  1. Ubuntu下redis数据库的安装和配置详细过程

    Redis 安装 当前redis最新稳定版本是4.0.9 当前ubuntu虚拟机中已经安装好了redis,以下步骤可以跳过 最新稳定版本下载链接:http://download.redis.io/re ...

  2. 纪中2018暑假培训day1提高b组改题记录

    收到意见,认为每天的程序和随笔放在一起写的博客太长了,于是分开整理 day1 模拟赛,看了看提高a组t1的样例就不太想写,于是转而写b组 t1: Description 给定一个n个点m条边的有向图, ...

  3. Linux安装 火速入门

    一.基本简介 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统. Linux能运行主要的UNIX工具软件.应用程序 ...

  4. mysql建立索引的几大原则

    (转)仅供自己学习,特此记录 1.选择唯一性索引 唯一性索引的值是唯一的,可以更快速的通过该索引来确定某条记录.例如,学生表中学号是具有唯一性的字段.为该字段建立唯一性索引可以很快的确定某个学生的信息 ...

  5. 神经网络中w,b参数的作用(为何需要偏置b的解释)

    http://blog.csdn.net/xwd18280820053/article/details/70681750 可视图讲解神经元w,b参数的作用 在我们接触神经网络过程中,很容易看到就是这样 ...

  6. django模板中使用JQ代码实现瀑布流显示效果

    settings中的配置不再详细说明 一.路由代码 from django.contrib import admin from django.conf.urls import url from app ...

  7. Circular view path xxx would dispatch back to the current handler URL,Check your ViewResolver setup

    Circular view path xxx would dispatch back to the current handler URL 通过原因分析,造成问题有两个因素:1). 缺省转发, 2). ...

  8. JDBC调用MySQL的调用过程CallableStatement

    调用过程可以当作函数理解,具体参考本人博文https://www.cnblogs.com/xixixing/p/9720261.html MySQL的test数据库中已经创建好存储过程p2(n),实现 ...

  9. Python之字符编码与文件操作

    目录 字符编码 Python2和Python3中字符串类型的差别 文件操作 文件操作的方式 文件内光标的移动 文件修改 字符编码 什么是字符编码? ''' 字符编码就是制定的一个将人类的语言的字符与二 ...

  10. M1-Flask-Day4

    今日内容概要: 1.git使用 2.redis基本操作 3.celery应用 4.在flask中使用celery 5.saltstack的基本使用 基础回顾: 1.关于FLASK -基本使用 路由 视 ...