我有一个Contacts
的表格,我正在为具有列的客户存储:
我使用ASP.NET 4.0并且在表单中我使用了ASP.NET向导,包含3个步骤。我几乎没有问题。
EmpID
插入到dbo.Contacts
为FK的表EmpID
中。ModifiedDate
?添加Time值的sql参数是什么? 答案 0 :(得分:2)
基本上有两种选择可以使ModifiedDate
保持最新状态:
在该列上定义DEFAULT
约束以获取新添加行时的当前日期/时间,并创建AFTER UPDATE
触发器以在每次更新ModifiedDate
之后更新该行的操作
在对数据库进行每次保存操作之前,在客户端应用程序中设置ModifiedDate
更新:如果您想创建AFTER UPDATE
触发器,请使用以下代码:
CREATE TRIGGER trg_UpdateModifiedDate
ON dbo.YourTableHere
AFTER UPDATE
AS
UPDATE dbo.YourTableHere
SET ModifiedDate = GETDATE()
WHERE AddressID IN (SELECT AddressID FROM Inserted)
在这里,我假设你的表YourTableHere
有某种主键 - 像ID
这样的列,可以唯一且清楚地标识每一行。基于该行,您可以更新已由给定SQL语句更新的所有行的ModifiedDate
。 Inserted
是一个伪表,它在触发器代码体内可用,它包含导致触发器触发的操作所修改的所有行(UPDATE
语句受YourTableHere
语句影响的所有行1}})
在此处阅读有关触发器的更多信息:
更新#2:如果您的ModifiedDate
列实际上是计算在SQL Server表级别上,则无法更新它直接。您需要找出它的计算结果,然后您需要修改该列(如果可以的话)。
要了解它的计算结果,请在SQL Server数据库上运行此查询:
SELECT
c.name, c.is_computed, c.definition
FROM
sys.computed_columns c
WHERE
object_id = OBJECT_ID('dbo.Contacts')
AND c.Name = 'ModifiedDate'
答案 1 :(得分:-1)
您在修改日期时可以使用简单的UPDATE语句 像..
update tabelname set modifieddate='@Prameterdate' where empid='01'