因为项目里需要写日志,所以要求在程序里用户每一步操作都要记录下来写到数据库当中。不知道怎么做才好

解决方案 »

  1.   

    写个方法,要用到地方调用就是了
    这个到底怎么算是“每一步操作”还不是你定义的,
    建议在基类里调用,我都写在基类里,写一次就够了
    public class FormOperations : Form, Consts.IMODULE_BASE_OPERATIONS
    {
        ...
        public virtual bool Save()
        {
            ...
            // 保存成功记入日志
             String Operation = _IsNew ? "新增" : "编辑";
            if (SaveTran != null)
                Funcs.WriteLog(Connection, MdiParent, ModuleID, Operation, ID, SaveTran);
            else
                Funcs.WriteLog(Connection, MdiParent, ModuleID, Operation, ID, Tran);
            Control FC = FindControl("ID");
            ((TextBox)FC).ReadOnly = true;
            if (!IsSaveDontCommitOrRollbackTran)
            {
                if (SaveTran != null)
                {
                    SaveTran.Commit();
                    SaveTran = null;
                }
                if (IsShowSaveSuccessMessage)
                    MessageBox.Show(Consts.SUCCESSMESSAGE_SAVE, String.Empty, MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            _IsNew = false;
            Result = true;
        }
        ...
    }
      

  2.   

    我现在是直接写在数据层里面,在insert,update,delete语句直接跟上添加日志sql。。