zoukankan      html  css  js  c++  java
  • 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);
            }
  • 相关阅读:
    通过HTTP请求Websocket
    理解C#中的“静态”
    C#垃圾回收机制详解
    详说C#中的结构struct
    readonly和const区别
    深入理解C#中this/partial/null的使用
    面向对象的几个基本概念的理解
    C#中out和ref使用
    C#中params使用
    值类型引用类型详解
  • 原文地址:https://www.cnblogs.com/gudaozi/p/8482062.html
Copyright © 2011-2022 走看看