//登陆日志程序 using Common; using Model; using Oracle.DataAccess.Client; using System; using System.Data; using System.Data.Common; using System.Text; namespace Dao { public class SysOperationLogDao : IDisposable { public DataTable SysLogPageList(int refid, string ramark, string userName, int count, out int recordCount, int pageIndex, int pageSize) { recordCount = 0; StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append(" from (SELECT * FROM SYS_OPERATION_LOG ORDER BY LOG_ID DESC) a where ROWNUM <1000 "); OracleParameter[] oracleParameterArray = new OracleParameter[3]; if (refid > 0) { oracleParameterArray[0] = new OracleParameter(":REF_ID", (OracleDbType)112); ((DbParameter)oracleParameterArray[0]).Value = (object)refid; stringBuilder.Append(" and REF_ID = :REF_ID"); } if (!string.IsNullOrEmpty(ramark)) { oracleParameterArray[1] = new OracleParameter(":RAMARK", (OracleDbType)126); ((DbParameter)oracleParameterArray[1]).Value = (object)( '%' + ramark + '%'); stringBuilder.Append(" and RAMARK LIKE :RAMARK"); } if (!string.IsNullOrEmpty(userName)) { oracleParameterArray[2] = new OracleParameter(":USER_NAME", (OracleDbType)112); ((DbParameter)oracleParameterArray[2]).Value = (object)userName; stringBuilder.Append(" and USER_NAME = :USER_NAME"); } using (OracleDataReader reader = OracleHelper.ExecuteReader("SELECT count(*) as count" + (object)stringBuilder, OracleHelper.Connection, oracleParameterArray)) { while (((DbDataReader)reader).Read()) recordCount = this.ReadCount(reader); } return OracleHelper.Execute(PubConstant.doOracleSql(pageIndex, pageSize, recordCount, "SELECT *" + (object)stringBuilder).ToString(), OracleHelper.Connection, oracleParameterArray); } public bool AddLog(string UserName, int MenuID, int refid, string Ramark, string IP) { return OracleHelper.ExecuteSql("insert into SYS_OPERATION_LOG(LOG_ID,USER_NAME,RAMARK,MENU_ID,REF_ID,CREATE_TIME,IP) values(OPERATION_LOG_ID_SEQ.NEXTVAL,:USER_NAME,:RAMARK,:MENU_ID,:REF_ID,sysdate,:IP)", OracleHelper.Connection, new OracleParameter(":USER_NAME", (object)UserName), new OracleParameter(":RAMARK", (object)Ramark), new OracleParameter(":IP", (object)IP), new OracleParameter(":MENU_ID", (object)MenuID), new OracleParameter(":REF_ID", (object)refid)) > 0; } private bool ReadInfo(OracleDataReader reader, SysOperationLog o) { OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader); o.LogID = oracleReaderWrapper.GetInt("LOG_ID", 0); o.UserName = oracleReaderWrapper.GetString("USER_NAME", ""); o.Ramark = oracleReaderWrapper.GetString("RAMARK", ""); o.CreateTime = oracleReaderWrapper.GetDateTime("CREATE_TIME"); o.IP = oracleReaderWrapper.GetString("IP", "0.0.0.0"); o.MenuID = oracleReaderWrapper.GetInt("MENU_ID", 0); o.MenuID = oracleReaderWrapper.GetInt("REF_ID", 0); return true; } private int ReadCount(OracleDataReader reader) { return new OracleReaderWrapper(reader).GetInt("count", 0); } public void Dispose() { } } }