gpt4 book ai didi

tsql - 使用 SqlDataReader 从 TSQL 输出子句获取错误消息

转载 作者:行者123 更新时间:2023-12-05 05:29:01 25 4
gpt4 key购买 nike

我有以下SQL

INSERT INTO [dbo].[table1] ([val1], [val2]) 
OUTPUT INSERTED.*
VALUES (@val1, @val2)

我使用 SqlCommand.ExecuteReader() 获取读取输出行的 SqlDataReader。当参数正确时,一切正常。

当表有参数不满足的约束时,问题就开始了,例如:

ALTER TABLE [dbo].[table1]
ADD CONSTRAINT [chk_table1_distinct_values]
CHECK (val1 <> val2)

如果我使用相同的 val1 和 val2 值执行命令,读取器将静默失败。我所能做的就是检查返回 falseSqlDataReader.HasRows 属性。

所以我的问题是如何从返回的 SqlDataReader 中获取更具体的错误?

最佳答案

你有没有检查过像Capture Stored Procedure print output in .NET中那样的“正常”输出?

从 AdaTheDev 复制:

myConnection.InfoMessage += new SqlInfoMessageEventHandler(myConnection_InfoMessage);
void myConnection_InfoMessage(object sender, SqlInfoMessageEventArgs e)
{
// Do something with e.Message
}

关于tsql - 使用 SqlDataReader 从 TSQL 输出子句获取错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4749012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com