gpt4 book ai didi

c# - 在 C# 中结合 SQL `raiserror` 和 `select`

转载 作者:行者123 更新时间:2023-11-30 17:17:07 25 4
gpt4 key购买 nike

我想知道是否有一种方法可以同时使用 SQL raiserror 并在 C# 中检索选定的结果。 C# 中的 ExecuteReader() 会在 raiserror 发生时抛出异常,但我仍然想使用读取器来捕获任何返回的数据。

下面是一个简化的例子。如果这不可能,我将对一般情况使用 raiserror,对特定情况使用 select

if (some-error)
begin
select @Message = 'ERROR: script made a booboo',
@State = 'State Info'
raiserror (@Messsage, 16, 1)
goto exit_sp
end

exit_sp:
select @Message 'Message', @State 'State'

最佳答案

如果您将严重性降低到 10 或以下(根据内存),它不会引发异常,但可以通过 InfoMessage event on the connection 获得.但是请注意,由于 TDS 的工作方式,您应该确保 Read() 等到 allend/strong> 结果;例如,如果您有多个 selectthen 一个 raiserror,并且您只读取了第一个 select放下数据读取器,您可能看不到消息(TDS 将被杀死)。

关于c# - 在 C# 中结合 SQL `raiserror` 和 `select`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6773597/

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