sqlinfomessage 事件为什么没有响应

snakepoon 2009-03-15 09:05:59
请各位高手帮忙看看我的代码,为什么我的infomessage事件不会触发的?谢谢
namespace TestApplication
{
public partial class Form1 : Form
{
static string InfoMessageTest;
public Form1()
{
InitializeComponent();
}
protected static void OnInfoMessage(object sender, SqlInfoMessageEventArgs args)
{

foreach (SqlError err in args.Errors)
{

InfoMessageTest = string.Format("The {0} has received a severity {1}, state {2} error number {3}\n" +
"on line {4} of procedure {5} on server {6}:\n{7}",
err.Source, err.Class, err.State, err.Number, err.LineNumber,
err.Procedure, err.Server, err.Message);
}
}

private void Form1_Load(object sender, EventArgs e)
{
string sqlconstr = string.Format("Data Source=D2E68F9FFD37481;Initial Catalog=Northwind;Integrated Security=True");
SqlConnection sqlcon = new SqlConnection(sqlconstr);
sqlcon.InfoMessage += new SqlInfoMessageEventHandler(OnInfoMessage);
SqlCommand sqlcom = new SqlCommand("select * from orders", sqlcon);
sqlcom.Connection.Open();
sqlcom.ExecuteNonQuery();
sqlcom.Connection.Close();
textBox1.Text = InfoMessageTest;
}

}
}
...全文
93 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
snakepoon 2009-03-15
  • 打赏
  • 举报
回复
也就是说我程序运行正常,就不能触发了?好的,谢谢你
cppfaq 2009-03-15
  • 打赏
  • 举报
回复
InfoMessage仅被警告和Print语句触发
snakepoon 2009-03-15
  • 打赏
  • 举报
回复
如果没有任何错误的时候,不是可用于从数据源中获取不与错误关联的消息吗?我这个是为了看看返回些什么关联消息的,这样不行的吗?
cppfaq 2009-03-15
  • 打赏
  • 举报
回复
当 SQL Server 返回严重度等于或小于 10 的消息时,会发生 InfoMessage 事件。严重级别在 11 和 20 之间的消息会引发错误,而严重级别超过 20 的消息将导致连接关闭.

你这个应该try....catch以捕获SQL错误。

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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