如何在程序里取得PRINT打印出来的语句?

黄双全 2002-12-30 11:20:26
用VC写程序,在删除时打印出一条语句.如何取得?
...全文
88 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
iamxia 2002-12-30
  • 打赏
  • 举报
回复
PRINT好象是不可以取的。可以用ERROR

谁知道的话,学习一下
ToUpdate 2002-12-30
  • 打赏
  • 举报
回复
up
ttyp 2002-12-30
  • 打赏
  • 举报
回复
gz
愉快的登山者 2002-12-30
  • 打赏
  • 举报
回复
用raiserror()函数。
pbsql 2002-12-30
  • 打赏
  • 举报
回复
raiserror('这条记录的主键键值己经被其他表引用,不能被删除!',16,1)
黄双全 2002-12-30
  • 打赏
  • 举报
回复
我说清楚一点,我做的是触发器的,在删除判断这条记录的主键键值是否己经被其他表引用,如果有的话就弹出一个对话框说明不能被删除.
iclt 2002-12-30
  • 打赏
  • 举报
回复
看来是没有办法在程序里面获得了。
pengdali 2002-12-30
  • 打赏
  • 举报
回复
改用返回值,或输出参数吧!

RETURN
从查询或过程中无条件退出。RETURN 即时且完全,可在任何时候用于从过程、批处理或语句块中退出。不执行位于 RETURN 之后的语句。

语法
RETURN [ integer_expression ]

参数
integer_expression

是返回的整型值。存储过程可以给调用过程或应用程序返回整型值。

返回类型
可以选择是否返回 int。



说明 除非特别指明,所有系统存储过程返回 0 值表示成功,返回非零值则表示失败。


注释
当用于存储过程时,RETURN 不能返回空值。如果过程试图返回空值(例如,使用 RETURN @status 且 @status 是 NULL),将生成警告信息并返回 0 值。

在执行当前过程的批处理或过程内,可以在后续 Transact-SQL 语句中包含返回状态值,但必须以下列格式输入:

EXECUTE @return_status = procedure_name



说明 Microsoft? SQL Server? 2000 是将空字符串 (NULL) 解释为单个空格还是真正的空字符串取决于兼容级别设置。如果兼容级别小于或等于 65,SQL Server 就将空字符串解释为单个空格。如果兼容级别等于 70,则 SQL Server 将空字符串解释为空字符串。有关更多信息,请参见 sp_dbcmptlevel。


示例
A. 从过程返回
下例显示如果在执行 findjobs 时没有给出用户名作为参数,RETURN 则将一条消息发送到用户的屏幕上然后从过程中退出。如果给出用户名,将从适当的系统表中检索由该用户在当前数据库内创建的所有对象名。

CREATE PROCEDURE findjobs @nm sysname = NULL
AS
IF @nm IS NULL
BEGIN
PRINT 'You must give a username'
RETURN
END
ELSE
BEGIN
SELECT o.name, o.id, o.uid
FROM sysobjects o INNER JOIN master..syslogins l
ON o.uid = l.sid
WHERE l.name = @nm
END

B. 返回状态代码
下例检查指定作者所在州的 ID。如果所在的州是加利福尼亚州 (CA),将返回状态代码 1。否则,对于任何其它情况(state 的值是 CA 以外的值或者 au_id 没有匹配的行),将返回状态代码 2。

CREATE PROCEDURE checkstate @param varchar(11)
AS
IF (SELECT state FROM authors WHERE au_id = @param) = 'CA'
RETURN 1
ELSE
RETURN 2

下例显示从 checkstate 执行中返回的状态。第一个显示的是在加利福尼亚州的作者;第二个显示的是不在加利福尼亚州的作者,第三个显示的是无效的作者。必须先声明 @return_status 局部变量后才能使用它。

DECLARE @return_status int
EXEC @return_status = checkstate '172-32-1176'
SELECT 'Return Status' = @return_status
GO

下面是结果集:

Return Status
-------------
1

再执行一次查询,指定一个不同的作者编号。

DECLARE @return_status int
EXEC @return_status = checkstate '648-92-1872'
SELECT 'Return Status' = @return_status
GO

下面是结果集:

Return Status
-------------
2

再执行一次查询,指定另一个作者编号。

DECLARE @return_status int
EXEC @return_status = checkstate '12345678901'
SELECT 'Return Status' = @return_status
GO

下面是结果集:

Return Status
-------------
2

34,870

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧