C# C/S框架功能-保存修改日志(Modify Log)
![](http://www.csframework.com/images/article-type5.gif)
![C# C/S框架功能-保存修改日志(Modify Log) C# C/S框架功能-保存修改日志(Modify Log)](http://www.csframework.com/images/seo/SEO-dotnet%E5%BC%80%E5%8F%91%E6%A1%86%E6%9E%B6.jpg)
模拟C/S框架修改日志,frmLogConfig窗体用到DevExpress 9.24控件。
![贴图图片](http://www.csframework.com/upload/image/15a5596f30b543bbbb56b46fc28ba85e.png)
/// <summary>
/// 支持写入日志的接口
/// </summary>
public interface LogSupportable
{
/// <summary>
/// 写入单表日志
/// </summary>
/// <param name="changes"></param>
/// <param name="tableName"></param>
/// <param name="keyFieldName"></param>
void WriteLog(DataTable changes, string tableName, string keyFieldName);
/// <summary>
/// 写入多个表的日志,一般为主表,明细1..n
/// </summary>
/// <param name="changes"></param>
void WriteLog(DataSet changes);
}
// 来源:www.CSFramework.com, C/S结构框架学习网
/// <summary>
/// 记录单表日志
/// </summary>
/// <param name="changes">修改后的数据</param>
/// <param name="tableName">表名</param>
/// <param name="keyFieldName">记录的主键,比较新旧数据时用于定位</param>
public void WriteLog(DataTable changes, string tableName, string keyFieldName)
{
SystemLog bllLog = new SystemLog();
string[] tracedFields = bllLog.GetTracedFields(tableName);
IList logs = bllLog.Compare(changes, tracedFields, keyFieldName, tableName);
foreach (LogDef log in logs) bllLog.WriteLog(log);
}
/// <summary>
/// 写入多表日志
/// </summary>
/// <param name="changes"></param>
public void WriteLog(DataSet changes)
{
WriteLog(changes.Tables[0], "tb_Customers", "CustomerCode");
//WriteLog(changes.Tables[1], "tb_Detail1", "Key"); //如有明细表
}
// 来源:www.CSFramework.com, C/S结构框架学习网
![C/S框架网|原创精神.创造价值.打造精品](http://www.csframework.com/images/our03.gif)
扫一扫加作者微信
![C/S框架网作者微信](http://www.csframework.com/images/wechatcode.jpg)
![C/S框架网|原创作品.质量保障.竭诚为您服务](http://www.csframework.com/images/CS框架网提供高效优质服务.jpg)
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网