关于SQL-SERVER触发器的问题

请教大师们一个关于SQL-SERVER触发器的问题我想在满足某一个规则后不仅仅是取消操作并输出信息,而且要弹出一个消息提示框可以吗?SETQUOTED_IDENTIFIE... 请教大师们一个关于SQL-SERVER触发器的问题
我想在满足某一个规则后不仅仅是取消操作并输出信息,而且要弹出一个消息提示框可以吗?
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

ALTER TRIGGER insert_check ON [dbo].[information]
FOR INSERT
AS
declare @info_num int
declare @in_num int
select @info_num=information.学号 ,@in_num=inserted.学号 from information,inserted
begin
if (@info_num=@in_num)
print '已经存在相同学号,不能插入'
rollback tran
end
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
展开
 我来答
摆渡浮桥
2011-04-06 · TA获得超过3631个赞
知道大有可为答主
回答量:1610
采纳率:100%
帮助的人:2260万
展开全部
你这个触发器基本上可以了。SQL-SERVER 不能够像应用程序一样弹出消息提示框。可以通过应用程序来实现弹出提示框。
在rollback语句后面用raiserror语句产生一个错误,应用程序捕获这个错误,用提示框的方式显示给用户。
SQL Server端代码:
rollback
raiserror ('已经存在相同学号,不能插入', 10,1)
应用程序端代码:
SqlCommand cmd = new SqlCommand("INSERT INTO TABLENAME VALUES(1)", new SqlConnection("connectionString"));

try
{
cmd.Connection.Open();
cmd.ExecuteNonQuery();
}
catch (SqlException ex)
{
Msgbox.Show(ex.Message); //捕获错误信息,显示给用户。
}
finally
{
cmd.Connection.Close();
}
更多追问追答
追问
应用程序捕获这个错误,用提示框的方式显示给用户。
这个怎么应用,嘎嘎,我是菜鸟,请大师理解下
追答
就是要用C#,VB之类的语言编写应用程序。
总之,SQL Server 不能以提示框的方式显示信息。
七鑫易维信息技术
2024-09-02 广告
Play Video 七鑫易维是致力于机器视觉和人工智能领域的高新科技企业,迄今已专注眼球追踪技术的研发、创新与应用超过14年,拥有完全自主知识产权,全球专利总量655余项。 作为眼球追踪技术领域的全球知名品牌,七鑫易维的产品体系覆盖眼动分... 点击进入详情页
本回答由七鑫易维信息技术提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式