.net执行SQL语句

 


    /// <summary>

    /// 构造函数,初始化时连接数据库
    /// </summary>
    public DB_Common()
    {
        string connStr;
        connStr = System.Configuration.ConfigurationSettings.AppSettings[0].ToString();
        sqlcon = new OracleConnection(connStr);
    }

    #endregion

    #region 打开数据库
    /// <summary>
    /// 打开数据库
    /// </summary>
    public void OpenConn()
    {
        try
        {
            if (this.sqlcon.State != ConnectionState.Open)
                this.sqlcon.Open();
        }
        catch (OracleException ex)
        {
            throw new Exception(ex.Message);
        }
    }
    #endregion
    #region 关闭数据库联接
    /// <summary>
    /// 关闭数据库联接
    /// </summary>
    public void CloseConn()
    {
        try
        {
            if (sqlcon.State == ConnectionState.Open)
                sqlcon.Close();
        }
        catch (OracleException ex)
        {
            throw new Exception(ex.Message);
        }
    }
    #endregion

 

 #region  执行SQL语句
    /// <summary>

    /// 此方法用来执行SQL语句
    /// </summary>
    /// <param name="SqlCom">要执行的SQL语句</param>
    /// <returns></returns>
    public bool ExceSQL(string strSqlCom)
    {
        sqlcom = new OracleCommand(strSqlCom, sqlcon);
        try
        {
            OpenConn();
            sqlcom.ExecuteNonQuery();
            return true;
        }
        catch (OracleException ex)
        {
            throw new Exception(ex.Message);
            return false;
        }
        finally
        {
            CloseConn();
            //sqlcon.Close();
        }
    }
    #endregion

    #region 执行SQL语句,返回记录总数
    /// <summary>
    /// 执行SQL语句,返回记录总数
    /// </summary>
    /// <param name="sql">sql语句</param>
    /// <returns>返回记录总条数</returns>
    ///
    public int Execute_Record(string sql)
    {
        int recordCount = 0;
        OpenConn();//打开数据连接
        OracleCommand command = new OracleCommand(sql, sqlcon);
        OracleDataReader dataReader = command.ExecuteReader();
        while (dataReader.Read())
        {
            recordCount++;
        }
        dataReader.Close();
        CloseConn();//关闭数据库连接
        return recordCount;
    }

    #endregion

 

 

 

 

 

 

 #region  返回DataSet类型数据
    /// <summary>
    /// 此方法返回一个DataSet类型
    /// </summary>
    /// <param name="SqlCom">要执行的SQL语句</param>
    /// <returns></returns>
    public DataSet ExceDS(string SqlCom)
    {
        try
        {
            OpenConn();
            sqlcom = new OracleCommand(SqlCom, sqlcon);
            sqldata = new OracleDataAdapter();
            sqldata.SelectCommand = sqlcom;
            DataSet ds = new DataSet();
            sqldata.Fill(ds);
            return ds;
        }
        catch (OracleException ex)
        {
            throw new Exception(ex.Message);
        }
        finally
        {
            // sqlcon.Close();
            CloseConn();
        }
    }
    #endregion

 

 

  #region 执行SQ DML语句,返回所影响的行数
    /// <summary>
    /// 执行SQL语句,返回所影响的行数
    /// </summary>
    /// <param name="sql"></param>
    /// <returns></returns>
    public int ExecuteDML(string strSqlCom)
    {
        int Cmd = 0;
        OpenConn();
        OracleCommand command = new OracleCommand(strSqlCom, sqlcon);
        OracleTransaction OraTrans = sqlcon.BeginTransaction();
        command.Transaction = OraTrans;
        try
        {
            Cmd = command.ExecuteNonQuery();
            OraTrans.Commit();
        }
        catch (OracleException ex)
        {
            throw new Exception(ex.Message);
            OraTrans.Rollback();
        }
        finally
        {
            CloseConn();
        }

        return Cmd;
    }
    #endregion

 

 

 

转载于:https://www.cnblogs.com/baohaiqi/archive/2012/06/04/2534599.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值