当前位置: 首页 > 面试题库 >

使用SqlCommand执行非查询,是否可以获取通常发布到“消息”中的文本?

阎坚成
2023-03-14
问题内容

当使用SqlCommand执行非查询(例如数据库还原)时,是否可以以编程方式获取使用Management
Studio时通常会发布到“消息”选项卡的文本?如果是这样怎么办?


问题答案:

是的,在SqlCommand对象上有一个名为SqlInfoMessage的事件挂钩,您可以将其挂钩:

SqlConnection _con = new SqlConnection("server=.;database=Northwindintegrated Security=SSPI;");

_con.InfoMessage += new SqlInfoMessageEventHandler(_con_InfoMessage);

事件处理程序将如下所示:

static void _con_InfoMessage(object sender, SqlInfoMessageEventArgs e)
{
    string myMsg = e.Message;            
}

“ e.Message”是打印到SQL Server Mgmt Studio中消息窗口的消息。

马克



 类似资料:
  • 我成功地为应用程序使用了logback,但无法从ch.qos.logback记录消息。我知道一个无法记录初始消息(下面的回答确认了这一点),这是有意义的。我不明白的是,为什么我还不能记录logback完成自身配置后生成的消息。 因此,没有办法告诉Logback将它自己的on-startup-log-events定向到文件附加器。 由ch.qos.logback.classic.net.smtpap

  • 假设我对同一个消息键有不同的值。 例如: 在上述情况下,我只需要用户更新的最新值,即“user789@xyz.com”。 我的kafka流应该只给我第三个值,而不是前两个值。

  • 问题内容: 我想使用asyncio调用loop.run_in_executor在Executor中启动一个阻塞函数,然后在以后取消它,但这似乎对我不起作用。 这是代码: 我希望上面的代码仅允许阻塞函数输出: 然后查看非阻塞函数的输出。但是,即使我取消了,阻碍性的未来仍在继续。 可能吗?还有其他方法吗? 谢谢 问题答案: 在这种情况下,一旦它真正开始运行,就无法取消它,因为您依赖的行为,并且它的文档

  • 问题内容: 有什么办法可以让子查询在oracle db中返回多个列?(我知道此特定的sql会导致错误,但总的来说我想要的很好) 我想要这样的结果: 我知道可以通过联接解决此问题,但这不是我要的。 我的问题很简单,是否有办法从子查询中获取两个或多个值?也许一些解决方法使用双重?这样就没有实际的联接,但是每行都有一个新的子查询? 编辑:这是一个原则性问题。我知道,您可以使用join解决所有这些问题。您

  • 我有两个依赖于另一个模块(C)的模块(A,B)。模块A将消息通道配置为Bean,模块C具有带有模块A配置的请求通道的消息网关。模块B不引用此消息网关,因此不配置请求通道。 在正常的服务器启动中,所有模块都已加载,并且工作正常,因为模块A为网关提供了MessageChannel Bean。 如果我测试模块B,由于缺少MessageChannel Bean,无法加载模块c中的MessagingGate

  • 我使用musicbrainz.orgpostgresql数据库,我已经安装在本地,并通过python访问。 如何创建一个SQL查询来输出发布组的所有跟踪?我能够获得与特定乐队相关的适当艺术家信息和发行版,但使用以下查询,发行版的曲目是错误的: 任何帮助都将不胜感激,我已经为此绞尽脑汁好几个小时了。