使用.Number捕获mysql-exception

时间:2014-03-21 11:23:06

标签: c# mysql database exception visual-studio-2012

我想用数字1046捕获特定的mysql错误。 如果我使用MessageBox.Show来显示错误号,它总是0,无论它是什么异常。异常不应该有像1046这样的数字吗?

catch (MySqlException mysqlex)
{ 
    MessageBox.Show(mysqlex.Number.ToString());
}

编辑:对不起,我正在使用MySQL-Connector / Net。

2 个答案:

答案 0 :(得分:1)

您没有看到号码,因为您没有连接到数据库。 可能MySQL正在为错误例外分配数字。

如果您查看Number属性here的说明,则说

  

获取一个标识错误类型的数字。此数字对应于服务器错误代码和消息中提供的错误编号。

因为您没有建立与服务器的连接,所以无法获得服务器错误代码。

检查连接字符串。

答案 1 :(得分:0)

可能与this相同的问题。

请尝试以下代码。

MessageBox.Show(mysqlex.InnnerException.Number.ToString());