您的位置:首页 > 其它

操作日志的生成和综合搜索

2014-04-07 20:09 253 查看

一:截图









二:OperationLogDAL.cs源代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using HRMSys.Model;
using System.Data;
using System.Data.SqlClient;

namespace HRMSys.DAL
{
public class OperationLogDAL
{
/// <summary>
/// 将数据库的格式转换为object对象的字段格式
/// </summary>
/// <param name="row"></param>
/// <returns></returns>
public OperationLog Tomodel(DataRow row)
{
OperationLog log=new OperationLog();
log.Id=(Guid)row["Id"];
log.OperatorId = (Guid)row["OperatorId"];
log.MakeDate=(DateTime)row["MakeDate"];
log.ActionDesc = (string)row["ActionDesc"];
log.LoginUser = (string)sqlhelper.FromDbValue(row["LoginUser"]);
return log;

}
/// <summary>
/// 插入一条操作记录
/// </summary>
/// <param name="OperatorId"></param>
/// <param name="ActionDesc"></param>

public void InsertLog(Guid OperatorId, string loginUser, string ActionDesc)
{

sqlhelper.ExecuteNon(@"insert into T_OperationLog(Id,OperatorId,MakeDate,ActionDesc,LoginUser)
values(newid(),@OperatorId,getdate(),@ActionDesc,@LoginUser)", new SqlParameter("@ActionDesc", ActionDesc),
new SqlParameter("@OperatorId", OperatorId),
new SqlParameter("@LoginUser", loginUser));//这里是values,不是value

}
/// <summary>
/// 插入一条操作记录
/// </summary>
/// <param name="OperatorId"></param>
/// <param name="ActionDesc"></param>

public void InsertLog(Guid OperatorId,  string ActionDesc)
{

sqlhelper.ExecuteNon(@"insert into T_OperationLog(Id,OperatorId,MakeDate,ActionDesc)
values(newid(),@OperatorId,getdate(),@ActionDesc)", new SqlParameter("@ActionDesc", ActionDesc),
new SqlParameter("@OperatorId", OperatorId)
);//这里是values,不是value

}
/// <summary>
/// 得到综合查询的OperationLog数组
/// </summary>
/// <param name="sql"></param>
/// <param name="sqlparameter"></param>
/// <returns></returns>
public OperationLog[] Search(string sql, SqlParameter[] sqlparameters)
{
DataTable table = sqlhelper.datatable(sql, sqlparameters);
//OperationLog[] log=new OperationLog[table.Rows.Count]();
OperationLog[] log = new OperationLog[table.Rows.Count];//不需要再加小括号了

for (int i = 0; i < table.Rows.Count; i++)
{
log[i] =Tomodel( table.Rows[i]);

}
return log;
}

}
}

三:OperationLog.cs源代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace HRMSys.Model
{
public class OperationLog
{
public Guid Id { get; set; }
public Guid OperatorId { get; set; }
public DateTime MakeDate { get; set; }
public String ActionDesc { get; set; }
public string LoginUser { get; set; }
}
}

四:OperationLogList.cs源代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace HRMSys.Model
{
public class OperationLogList
{
public Guid Id { get; set; }
public string OperatorName { get; set; }
public DateTime MakeDate { get; set; }
public String ActionDesc { get; set; }
public string LoginUser { get; set; }
}
}

五:OperationSearchLog.cs界面和源代码





using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using HRMSys.DAL;
using System.Data.SqlClient;
using HRMSys.Model;

namespace HYMSys.UI.SystemMgr
{
public partial class OperationSearchLog : Form
{
public OperationSearchLog()
{
InitializeComponent();
}
/// <summary>
/// 载入事件,给窗口填值
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void OperationSearchLog_Load(object sender, EventArgs e)
{
OperatorDAL dal = new OperatorDAL();
Operator op = new Operator();

cb_operator.DataSource = dal.GetListNotDelete();
//cb_operator.SelectedValue = op.Id;
//cb_operator.ValueMember = op.UserName;
//cb_operator.SelectedValue = "Id";
//cb_operator.ValueMember = "UserName";
cb_operator.ValueMember = "Id";
cb_operator.DisplayMember = "UserName";

dtp_startdate.Value = DateTime.Today.AddDays(-5);
dtp_enddate.Value = DateTime.Today;

}
/// <summary>
/// 综合查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_search_Click(object sender, EventArgs e)
{
List<string> whereList = new List<string>();
List<SqlParameter> parametersList = new List<SqlParameter>();
//if(chb_operator.CheckState==true)错误的
if(chb_operator.Checked==true)
{
whereList.Add("OperatorId=@OperatorId");
parametersList.Add(new SqlParameter("@OperatorId", cb_operator.SelectedValue));//不能用cb_operator.text
}

if (chb_date.Checked == true)
{
whereList.Add("MakeDate>=@dtp_startdate and MakeDate<=@dtp_enddate");
parametersList.Add(new SqlParameter("@dtp_startdate", dtp_startdate.Value));//不能用dtp_startdate
parametersList.Add(new SqlParameter("@dtp_enddate", dtp_enddate.Value));
}
if (chb_desc.Checked == true)
{
whereList.Add("ActionDesc like @ActionDesc");
parametersList.Add(new SqlParameter("@ActionDesc","%"+tb_desc.Text+"%"));

}
if (whereList.Count <= 0)
{
MessageBox.Show("至少选择一个查询条件");//防止查询出的结果过多
return;
}
string whereSql = string.Join(" and ", whereList);
string sql = "select * from T_OperationLog " ;

if (whereSql.Length > 0)
{
sql = sql + " where " + whereSql;
}

OperationLogDAL dal = new OperationLogDAL();
dgv_logResult.DataSource = dal.Search(sql, parametersList.ToArray());
// .DataSource = dal.Search(Sql, parameter);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: