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); }