我想从某个特定列的表中更改用户的用户和对象的触发器记录用户活动。我知道我无法访问该URL,但是有什么方法可以获取已登录并更新了某些内容的User的值。
我的触发代码是:
CREATE Trigger `Drfafterupdate`
after update
on `drftemplate` for each row
Begin
DECLARE vUser varchar(50);
SELECT USER() INTO vUser;
Insert into logdbchanges (Username,OldValue,NewValue,TableName,ColumnName,Url,DateTime)
Values (vUser,(select Old.WaterSourceNotes from `drftemplate` where DRFTemplateId = OLD.DRFTemplateId),(select WaterSourceNotes from `drftemplate` where DRFTemplateId = New.DRFTemplateId),'drftemplate','','',Now());
END
在这里,我得到了我在Web.config中编写的MySQL User的值,但我希望在Username列中输入Asp.net Session User。有可能吗?
最佳答案
您只能从session data
和controller
访问view
,不能在MySQL查询中访问。因此,在某些dbmanager类中创建一个日志函数,并将会话用户名值传递给该函数,然后将该值从dbmanager类写入数据库。