问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

当程序执行时无法找到数据库驱动类时将产生( )异常。

发布网友 发布时间:2022-04-08 18:56

我来回答

4个回答

懂视网 时间:2022-04-08 23:17

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Configuration;
using Oracle.DataAccess.Client;

namespace DAL
{
    public class DBHelper
    {
        //public static string ConnectionString = ConfigurationManager.ConnectionStrings["ConnString"].ConnectionString;//方式一,数据库链接串写在配置文件中
        public static string ConnectionString = "Data Source=ORCL;User ID=bonus;Password=bonus123";//方式二,直接写在cs文件中


        #region 对于所有表 ExecuteNonQuery() 直接对数据进行更新操作

        public static int ExecuteNonQuery(string sql)
        {
            return ExecuteNonQuery(sql, null, CommandType.Text);
        }

        public static int ExecuteNonQuery(string sql, OracleParameter[] para)
        {
            return ExecuteNonQuery(sql, para, CommandType.Text);
        }

        public static int ExecuteNonQuery(string sql, CommandType cmdType)
        {
            return ExecuteNonQuery(sql, null, cmdType);
        }
        public static int ExecuteNonQuery(string sql, OracleParameter[] para, CommandType cmdType)
        {
            int rows = -1;
            using (OracleConnection conn = new OracleConnection(ConnectionString))
            {
                OracleCommand cmd = new OracleCommand(sql, conn);
                if (para != null)
                {
                    cmd.Parameters.AddRange(para);
                }
                cmd.CommandType = cmdType;

                conn.Open();
                rows = cmd.ExecuteNonQuery();
                cmd.Parameters.Clear();
                conn.Close();
            }
            return rows;
        }

        #endregion

        #region 对于所有表 ExecuteReader 返回结果集

        public static OracleDataReader ExecuteReader(string sql)
        {
            return ExecuteReader(sql, null, CommandType.Text);
        }

        public static OracleDataReader ExecuteReader(string sql, OracleParameter[] para)
        {
            return ExecuteReader(sql, para, CommandType.Text);
        }
        public static OracleDataReader ExecuteReader(string sql, CommandType cmdType)
        {
            return ExecuteReader(sql, null, cmdType);
        }

        public static OracleDataReader ExecuteReader(string sql, OracleParameter[] para, CommandType cmdType)
        {
            OracleCommand cmd = null;
            OracleConnection conn = new OracleConnection(ConnectionString); ;
            cmd = new OracleCommand(sql, conn);
            if (para != null)
            {
                cmd.Parameters.AddRange(para);
            }
            cmd.CommandType = cmdType;
            conn.Open();
            return cmd.ExecuteReader(CommandBehavior.CloseConnection);
        }

        #endregion


        #region 对于所有表 ExecuteDataTable 返回数据表

        public static DataTable ExecuteDataTable(string sql)
        {
            return ExecuteDataTable(sql, null, CommandType.Text);
        }

        public static DataTable ExecuteDataTable(string sql, OracleParameter[] para)
        {
            return ExecuteDataTable(sql, para, CommandType.Text);
        }
        public static DataTable ExecuteDataTable(string sql, CommandType cmdType)
        {
            return ExecuteDataTable(sql, null, cmdType);
        }

        public static DataTable ExecuteDataTable(string sql, OracleParameter[] para, CommandType cmdType)
        {
            try
            {
                DataTable myTable = new DataTable();
                using (OracleConnection conn = new OracleConnection(ConnectionString))
                {
                    OracleCommand cmd = new OracleCommand(sql, conn);
                    if (para != null)
                    {
                        cmd.Parameters.Add(para);
                    }
                    cmd.CommandType = cmdType;

                    OracleDataAdapter da = new OracleDataAdapter(cmd);
                    da.Fill(myTable);
                }
                return myTable;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        #endregion


        #region 对于所有表 ExecuteScalar 返回数据表
        public static object ExecuteScalar(string sql)
        {
            return ExecuteScalar(sql, null, CommandType.Text);
        }

        public static object ExecuteScalar(string sql, OracleParameter[] para)
        {
            return ExecuteScalar(sql, para, CommandType.Text);
        }

        public static object ExecuteScalar(string sql, CommandType cmdType)
        {
            return ExecuteScalar(sql, null, cmdType);
        }

        public static object ExecuteScalar(string sql, OracleParameter[] para, CommandType cmdType)
        {
            object res = null;
            using (OracleConnection conn = new OracleConnection(ConnectionString))
            {
                OracleCommand cmd = new OracleCommand(sql, conn);
                if (para != null)
                {
                    cmd.Parameters.AddRange(para);
                }
                cmd.CommandType = cmdType;
                conn.Open();
                res = cmd.ExecuteScalar();
                cmd.Parameters.Clear();
                conn.Close();
            }
            return res;
        }

        #endregion


        #region 存储过程操作
        /// <summary>  
        /// 执行存储过程  
        /// </summary>  
        /// <param name="storedProcName">存储过程名</param>  
        /// <param name="parameters">存储过程参数</param>  
        /// <returns>OracleDataReader返回数据集</returns>  
        public static OracleDataReader RunProcedure(string storedProcName, IDataParameter[] parameters)
        {
            OracleConnection connection = new OracleConnection(ConnectionString);
            OracleDataReader returnReader;
            connection.Open();
            OracleCommand command = BuildQueryCommand(connection, storedProcName, parameters);
            command.CommandType = CommandType.StoredProcedure;
            returnReader = command.ExecuteReader();
            return returnReader;
        }
        /// <summary>  
        /// 执行存储过程  
        /// </summary>  
        /// <param name="storedProcName">存储过程名</param>  
        /// <param name="parameters">存储过程参数</param>  
        /// <param name="tableName">DataSet结果中的表名</param>  
        /// <returns>DataSet</returns>  
        public static DataSet RunProcedure(string storedProcName, IDataParameter[] parameters, string tableName)
        {
            using (OracleConnection connection = new OracleConnection(ConnectionString))
            {
                DataSet dataSet = new DataSet();
                connection.Open();
                OracleDataAdapter sqlDA = new OracleDataAdapter();
                sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters);
                sqlDA.Fill(dataSet, tableName);
                connection.Close();
                return dataSet;
            }
        }
        /// <summary>  
        /// 构建 OracleCommand 对象(用来返回一个结果集,而不是一个整数值)  
        /// </summary>  
        /// <param name="connection">数据库连接</param>  
        /// <param name="storedProcName">存储过程名</param>  
        /// <param name="parameters">存储过程参数</param>  
        /// <returns>OracleCommand</returns>  
        private static OracleCommand BuildQueryCommand(OracleConnection connection, string storedProcName, IDataParameter[] parameters)
        {
            OracleCommand command = new OracleCommand(storedProcName, connection);
            command.CommandType = CommandType.StoredProcedure;
            foreach (OracleParameter parameter in parameters)
            {
                command.Parameters.Add(parameter);
            }
            return command;
        }
 
     
        /// <summary>  
        /// 创建 OracleCommand 对象实例(存储过程返回输出参数)   
        /// </summary>  
        /// <param name="storedProcName">存储过程名</param>  
        /// <param name="parameters">存储过程参数</param>  
        /// <returns>OracleCommand 对象实例</returns>  
        /// 调用此方法的例子
        /* OracleParameter[] parameter = {  
              new OracleParameter("starttime",OracleDbType.Varchar2,8),  
                new OracleParameter("endtime",OracleDbType.Varchar2,8),
                new OracleParameter("days",OracleDbType.Decimal,3)
                };
                parameter[0].Direction = ParameterDirection.Input;
                parameter[1].Direction = ParameterDirection.Input;
                parameter[2].Direction = ParameterDirection.Output;
                //new OracleParameter("t_sql", OracleType.Cursor)};
                parameter[0].Value = starttime;
                parameter[1].Value = endtime;
       
                // parameter[2].Direction = System.Data.ParameterDirection.Output;
                 command = DBHelper.RunProcedureCommand("pro_comovertimedays", parameter);

                    //接收函数返回值
                  over_days = Convert.ToString(parameter[2].Value);//res
    */
        public static OracleCommand RunProcedureCommand(string storedProcName, IDataParameter[] parameters)
        {
            using (OracleConnection connection = new OracleConnection(ConnectionString))
            {
                
                OracleCommand command = new OracleCommand(storedProcName, connection);
                command.CommandType = CommandType.StoredProcedure;
                foreach (OracleParameter parameter in parameters)
                {
                    command.Parameters.Add(parameter);
                }
                connection.Open();
                command.ExecuteNonQuery();
                connection.Close();
                return command;               
                
            }
        }
        #endregion   
 
    }
}

本文出自 “11075795” 博客,谢绝转载!

Oracle数据库驱动类DBHelper

标签:oracle数据库驱动类dbhelper

热心网友 时间:2022-04-08 20:25

选C
1 所需要的支持类库放错了地方,并没有放在类路径(CLASSPATH环境变量)里面。
2 使用了重复的类库,且版本不一致。导致低版本的被优先使用。
3 类名错了,一般是使用Class.forName的时候,手工指定了类名的情况。
4 没有导入纯JAVA驱动包。

热心网友 时间:2022-04-08 21:43

java操作数据库,没找到驱动一般有两个原因:

热心网友 时间:2022-04-08 23:18

C.ClassNotFoundException
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
ef英语哪个好 EF英孚英语培训怎么样? 英孚英语好不好 EF英孚教育到底好不好 大佬们,麦芒7和荣耀10那个值得入手?2500以下的机子还有啥好推荐的么... 介绍几款2500元以前的手机 像素一定要高 其他的不做要求 近期想入手一部安卓手机,价格2200到2500左右…买HTC desire Z还是 三星... 笔记本忘记开机密码怎么办急死了 笔记本电脑屏幕开机锁忘记密码 怎么办?急死了 华硕笔记本电脑开机密码忘记了怎样找回?系统是Windows 7旗舰版... 如何恢复电脑删除的文件?能不能找回那种永久删除的文件呢? 富德生命人寿保险退保,能拿多少回来 富德生命人寿保险,如果申请退保能拿多少回来? 2020双色球39期几点快奖几点开奖? 梦见男生的手涂大红指甲什么意思 tiktok怎么设置网络权限? 淮海电动车作为传统三轮车大企业,现在做新能源汽车后期会好么? 淮海车辆成立于哪一年? 淮海实力很强吗? 淮海控股集团有限公司怎么样? 淮海控股集团是民营企业500强吗? 淮海控股集团的介绍 求walk thru fire的链接,谢谢楼主 张鸿雁的人物生涯 安桂林的介绍 求walk thru fire mp3下载 抄网杆锁紧原理 GIS在公共事业管理领域有哪些具体应用 GIS系统的注意事项 维护GIS地理信息系统所需要的工作及怎样把它推广应用 汽车怎么放手机上的视频 把手机上的视频放在车里播放器上看的步骤 手机上下载的视频能否直接在车载上播放吗 2048怎么玩的? Excel 怎么样做到输入数字显示星号 求个2048/2等于多少? 2048,求问怎么才能玩到更高分,说的详细点,,有用信息多点,满意马上采纳。 如何在excel中加星号变条形码 2048/2045次列车现在是长春始发还是哈尔滨始发? Excel 数字小数点加星号后对齐 玩2048的好处有哪些? 微博帐号密码忘了,记得ID,怎么找回,没绑定手机号和邮箱 2048怎样才能拼出来 2048怎么才能到2048? EXCEL名称管理器无法定义“C1&quot;,改如何解决? “显微镜下的爱情,无法定义”是什么意思? 2048!末尾有多少个0? 请描述具体思路, 并根据思路编写相应函数(用C&#47;C++) 银行贷款利率上浮过高是否违法? 无法定义程序输入点? 我是属虎的刚才梦见大猪和我打架