我正在使用 SQL 管理对象连接到 SQL 服务器。目前,它们包含用于我的示例的简单“创建表”命令。
我故意运行此代码两次以导致“表已存在”的错误。
但是我下面的事件没有被触发。
任何人都有任何想法,我如何在我的代码中获取此消息,然后更改 ExecutionType 以停止导致异常的错误(我不想这样做,我想继续)
我的代码:
public void executeSomeSQL() {
FileInfo file = new FileInfo(@"\c:\sqlcommands.sql");
string script = file.OpenText().ReadToEnd();
SqlConnection conn = new SqlConnection(sqlConnectionString);
conn.InfoMessage +=new SqlInfoMessageEventHandler(conn_InfoMessage);
Server server = new Server(new ServerConnection(conn));
server.ConnectionContext.InfoMessage += new SqlInfoMessageEventHandler(ConnectionContext_InfoMessage);
server.ConnectionContext.ExecuteNonQuery(script,ExecutionTypes.ContinueOnError);
MessageBox.Show("All Done");
}
活动:-
public void conn_InfoMessage(object sender, SqlInfoMessageEventArgs e) {
textBox3.Text += "1:"+DateTime.Now.ToString();
}
public void ConnectionContext_InfoMessage(object sender, SqlInfoMessageEventArgs e) {
textBox3.Text += "2:" + DateTime.Now.ToString();
}