首先,我是安全人员,而不是开发人员。如果有更简单的方法来做我想做的事,我不会感到惊讶。这是我第一次在 C# 中做任何事情,所以要温柔。
我正在开发一个数据库来跟踪我们对审计控制的遵守情况。数据库是 MS SQL 2008,带有我用 C# 编写的 Web 应用程序前端。我正在开发一个页面,该页面允许用户使用测试结果更新控件或更改要求或几乎其他任何内容。在此页面上更新信息时,我试图在更新 Controls 表中的记录之前将现有数据从 Controls 表写入 History 表。我也在尝试记录(在History
表格中)谁进行了更新以及何时进行更新。这是我遇到问题的地方。我可以在语句中嵌套一个SELECT
语句INSERT
来提取数据,但我无法弄清楚如何添加更新日期和时间以及更新它的用户。
这是我目前的查询,由于明显的原因它不起作用。只是为了让您了解我正在使用的列和参数。
INSERT INTO History (BUName, ControlFWName, ControlID, ControlDesc,
TestPlan, TestFreq, NextTest, ControlCatName,
AuditorNotes, AuditorNoteTime, TestResults, ArtifactID1,
ArtifactID2, ArtifactID3, ArtifactID4,
WhoChanged, WhenChanged)
SELECT BUName, ControlFWName, ControlID, ControlDesc,
TestPlan, TestFreq, NextTest, ControlCatName,
AuditorNotes, AuditorNoteTime, TestResults, ArtifactID1,
ArtifactID2, ArtifactID3, ArtifactID4
FROM Controls
WHERE BUName = @BUName
AND ControlFWName = @ControlFWName
AND ControlID = @ControlID
如何将WhoChanged
andWhenChanged
列附加到该插入语句?它们被参数化为只是DateTime.Now
和的变量User.Identity.Name
。
如果您需要更多代码,请告诉我。