public object ExecuteScalar(OracleCommand cmd) { object ret = null; try { log.Debug(DbTool.GetLogSql(cmd.CommandText, cmd.Parameters)); if (null == Transaction.Current) { cmd.Connection.Open(); } ret = cmd.ExecuteScalar(); } catch (System.Exception ex) { ret = null; log.Error("ExecuteScalar", ex); throw ex; } finally { if (null == Transaction.Current && cmd.Connection != null && cmd.Connection.State != ConnectionState.Closed) { cmd.Connection.Close(); cmd.Connection.Dispose(); } } return(ret); }
public DataTable ExecuteDataTable(OracleCommand cmd) { DataTable dataTable = new DataTable(); try { log.Debug(DbTool.GetLogSql(cmd.CommandText, cmd.Parameters)); if (null == Transaction.Current) { cmd.Connection.Open(); } OracleDataAdapter da = new OracleDataAdapter(cmd); da.Fill(dataTable); } catch (System.Exception ex) { dataTable = null; log.Error("ExecuteDataTable", ex); throw ex; } finally { if (null == Transaction.Current && cmd.Connection != null && cmd.Connection.State != ConnectionState.Closed) { cmd.Connection.Close(); cmd.Connection.Dispose(); } } return(dataTable); }
/// <summary> /// 谨慎使用 Reader记得关闭 /// </summary> /// <param name="cmd"></param> /// <returns></returns> private OracleDataReader ExecuteReader(OracleCommand cmd) { log.Debug(DbTool.GetLogSql(cmd.CommandText, cmd.Parameters)); if (null == Transaction.Current) { cmd.Connection.Open(); return(cmd.ExecuteReader(CommandBehavior.CloseConnection)); } return(cmd.ExecuteReader()); }
/// <summary> /// 转换字段可区分大小写 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="cmd"></param> /// <returns></returns> public List <T> ExecuteList <T>(OracleCommand cmd) where T : class { //return Cis.BaseModel.DeserializeObject.ConvertTo<T>(ExecuteDataTable(cmd)) as List<T>; List <T> list = null; OracleDataReader reader = null; try { log.Debug(DbTool.GetLogSql(cmd.CommandText, cmd.Parameters)); if (null == Transaction.Current) { cmd.Connection.Open(); reader = cmd.ExecuteReader(CommandBehavior.CloseConnection); } else { reader = cmd.ExecuteReader(); } var columns = DbTool.GetColumns(reader); list = new List <T>(); while (reader.Read()) { //TODO ?? // list.Add(Cis.BaseModel.DeserializeObject.CreateItem<T>(reader, columns)); } } catch (System.Exception ex) { log.Error("ExecuteList", ex); list = null; throw ex; } finally { if (reader != null) { reader.Close(); reader.Dispose(); } if (null == Transaction.Current && cmd.Connection != null && cmd.Connection.State != ConnectionState.Closed) { cmd.Connection.Close(); cmd.Connection.Dispose(); } } return(list); }
public int ExecuteNonQuery(OracleCommand cmd) { int ret = -1; try { if (cmd.ArrayBindCount > 0) { #if DEBUG DbTool.LogOperateDone(cmd); #endif DbTool.WriteLog(Level.Debug, cmd); } else { log.Debug(DbTool.GetLogSql(cmd.CommandText, cmd.Parameters)); } //执行批处理 if (null == Transaction.Current) { cmd.Connection.Open(); } ret = cmd.ExecuteNonQuery(); } catch (System.Exception ex) { log.Error("ExecuteNonQuery", ex); throw ex; } finally { if (null == Transaction.Current && cmd.Connection != null && cmd.Connection.State != ConnectionState.Closed) { cmd.Connection.Close(); cmd.Connection.Dispose(); } } return(ret); }
public T ExecuteModel <T>(OracleCommand cmd) where T : class { T t = default(T); OracleDataReader reader = null; try { log.Debug(DbTool.GetLogSql(cmd.CommandText, cmd.Parameters)); if (null == Transaction.Current) { cmd.Connection.Open(); } reader = cmd.ExecuteReader(); if (reader.Read()) { //TODO 观察一下是否有问题 // t = Cis.BaseModel.DeserializeObject.CreateItem<T>(reader); } } catch (System.Exception ex) { log.Error("ExecuteModel", ex); throw ex; } finally { if (reader != null) { reader.Close(); reader.Dispose(); } if (null == Transaction.Current && cmd.Connection != null && cmd.Connection.State != ConnectionState.Closed) { cmd.Connection.Close(); cmd.Connection.Dispose(); } } return(t); }