标签: c# mysql database exception visual-studio-2012
我想用数字1046捕获特定的mysql错误。 如果我使用MessageBox.Show来显示错误号,它总是0,无论它是什么异常。异常不应该有像1046这样的数字吗?
catch (MySqlException mysqlex) { MessageBox.Show(mysqlex.Number.ToString()); }
编辑:对不起,我正在使用MySQL-Connector / Net。
答案 0 :(得分:1)
您没有看到号码,因为您没有连接到数据库。 可能MySQL正在为错误例外分配数字。
如果您查看Number属性here的说明,则说
获取一个标识错误类型的数字。此数字对应于服务器错误代码和消息中提供的错误编号。
因为您没有建立与服务器的连接,所以无法获得服务器错误代码。
检查连接字符串。
答案 1 :(得分:0)
可能与this相同的问题。
请尝试以下代码。
MessageBox.Show(mysqlex.InnnerException.Number.ToString());