c# 与 oracle 数据库交互

1.存储过程返回多个查询结果显示在界面上

DataSet dataSet = new DataSet();
            OracleCommand myCm = new OracleCommand();
            OracleConnection conn = new OracleConnection(oracleConnect);
            myCm.Connection = conn;
            myCm.CommandText = "prc_xinwei_data";
            myCm.CommandType = CommandType.StoredProcedure;

            myCm.Parameters.Add("in_barreryCode", OracleType.VarChar, 50);
            myCm.Parameters.Add("cur_out_info", OracleType.Cursor);
            myCm.Parameters.Add("cur_out_cycle", OracleType.Cursor);
            myCm.Parameters.Add("cur_out_statis", OracleType.Cursor);
            myCm.Parameters.Add("cur_out_detail", OracleType.Cursor);
            myCm.Parameters["in_barreryCode"].Direction = ParameterDirection.Input;
            myCm.Parameters["cur_out_info"].Direction = ParameterDirection.Output;
            myCm.Parameters["cur_out_cycle"].Direction = ParameterDirection.Output;
            myCm.Parameters["cur_out_statis"].Direction = ParameterDirection.Output;
            myCm.Parameters["cur_out_detail"].Direction = ParameterDirection.Output;

            myCm.Parameters["in_barreryCode"].Value = batteryCode;

            try
            {
                conn.Open();
                OracleDataAdapter sda = new OracleDataAdapter(myCm);
                DataSet ds = new DataSet("ds");
                sda.Fill(ds);
                return ds;
              
            }
            catch (System.Data.SqlClient.SqlException e)
            {
                throw new Exception(e.Message);
            }
            finally
            {
                myCm.Dispose();
                conn.Close();
            }
            

2.存储过程更新表数据

          OracleParameter[] paras = new OracleParameter[4];
            paras[0] = new OracleParameter("pi_ip", OracleType.VarChar, 20);
            paras[0].Value = IP;
            paras[1] = new OracleParameter("pi_filename", OracleType.VarChar, 20);
            paras[1].Value = fileName;
            paras[2] = new OracleParameter("pi_currentrow", OracleType.Int32);
            paras[2].Value = currentRow;
            paras[3] = new OracleParameter("pi_worktype", OracleType.VarChar, 20);
            paras[3].Value = workType;
            XKOracleDataAccess.ExecuteNonQuery(CommandType.StoredProcedure, "proc_save_filelist", paras);

 

3.SQL语句 执行 

 public static void SaveExceptionLog(string IP, string worktype, string filename, string exception_desc)
        {
            OracleParameter[] paras = {
                                          new OracleParameter(":IP",IP),
                                           new OracleParameter(":worktype",worktype),
                                            new OracleParameter(":filename",filename),
                                             new OracleParameter(":exception_desc",exception_desc),
                                      };
            string sqlSave = @"insert into exception_log
  (fid, ip, worktype, filename, exception_time, exception_desc) 
values(SEQ_EXCEPTION_LOG.NEXTVAL,:IP,:worktype,:filename,sysdate,:exception_desc)";
            XKOracleDataAccess.ExecuteNonQuery(CommandType.Text,sqlSave,paras);
        }

 

转载于:https://www.cnblogs.com/gudaozi/p/8482062.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值