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. react案例->新闻移动客户端--(react+redux+es6+webpack+es6的spa应用)

    今天分享一个react应用,应在第一篇作品中说要做一个react+redux+xxx的应用.已经做完一部分,拿出来分享.github地址为:点我就可以咯~ 这里实现了一个新闻移动站的spa.本来想写p ...

  2. HDU--5519 Sequence II (主席树)

    题目链接 2016年长春ccpc I 题 题目大意 : 给你n(n≤2∗105n≤2∗105)个数,每个数的大小 0<Ai≤2∗10^5   0<Ai≤2∗10^5. 再给你m(m≤2∗1 ...

  3. vue-router 如何默认显示三级子路由

    { path: '/aaa', name: 'aaa', title: '统计分析', component: () => import('@/aaa.vue'),//一级子组件.容器 child ...

  4. 象棋start

    这篇文章其实谈的不是象棋开局,更谈不上开局技巧,举个例子:第一步走炮二平五,也即是中炮局,但中炮局可以根据对手的应对着法演变成很多,比如:五七炮对屏风马,五六炮对屏风马,顺炮局,以及雷公炮等等,这些才 ...

  5. 4.2、LED1、LED2交替闪烁

    #include "ioCC2530.h" //引用CC2530头文件 /***************************************************** ...

  6. position:fixed固定定位的用法

    一.position:fixed:固定定位 1.实现某个元素在可视窗口的居中位置显示 1)给自身设置宽高: 2)给自身加position:fixed: 3)用margin向左移动自身宽度的一半,向上移 ...

  7. php5.4后htmlspecialchars输出为空的问题

    从旧版升级到php5.4,恐怕最麻烦的就是htmlspecialchars这个问题了!当然,htmlentities也会受影响,不过,对于中文站来说一般用htmlspecialchars比较常见,ht ...

  8. ansible小结常用模块

    根据官方的分类,将模块按功能分类为:云模块.命令模块.数据库模块.文件模块.资产模块.消息模块.监控模块.网络模块.通知模块.包管理模块.源码控制模块.系统模块.单元模块.web设施模块.window ...

  9. QT:基本知识(一);

    注: 该博文为扩展型: 1)   QString转换为LPCTSTR QString   szStr; LPCTSTR  str =  (LPWSTR)(szStr.utf16()); 2)   中文 ...

  10. Spring入门初体验

    Spring其实就是一个容器,让我们更方便的拿到想要的对象. 1.编写一个service // userService.java public interface userService { publ ...