晕,俺试过啊,根本就没有任何反应! 所以俺问的问题首先是 能否捕获??【例】在XSCJ数据库的XS_KC表上创建一触发器,若对学号列和课程号列修改,则给出提示信息,并取消修改操作。 通过调用 COLUMNS_UPDATED()函数,可快速测试对学号列和课程号列修改所做的更改。 USE XSCJ GO CREATE TRIGGER update_trig ON XS_KC FOR update AS /*检查学号列(C0)和课程号列(C1)是否被修改,如果有某些列被修改了,则 取消修改操作。*/ IF (COLUMNS_UPDATED() & 3) > 0 BEGIN RAISERROR ('违背数据的一致性.', 16, 1) ROLLBACK TRANSACTION END GO 然后用 C# 写测试程序调用,RAISERROR 抛出的信息 '违背数据的一致性.' 根本就捕获不到!
{}
catch
{}
可以捕获到Try这部分代码执行时遇到的错误。你可以在Catch里做相应的处理
所以俺问的问题首先是 能否捕获??【例】在XSCJ数据库的XS_KC表上创建一触发器,若对学号列和课程号列修改,则给出提示信息,并取消修改操作。
通过调用 COLUMNS_UPDATED()函数,可快速测试对学号列和课程号列修改所做的更改。
USE XSCJ
GO
CREATE TRIGGER update_trig
ON XS_KC
FOR update
AS
/*检查学号列(C0)和课程号列(C1)是否被修改,如果有某些列被修改了,则 取消修改操作。*/
IF (COLUMNS_UPDATED() & 3) > 0
BEGIN
RAISERROR ('违背数据的一致性.', 16, 1)
ROLLBACK TRANSACTION
END
GO
然后用 C# 写测试程序调用,RAISERROR 抛出的信息 '违背数据的一致性.' 根本就捕获不到!