我正在C#中创建一个以SQL Server作为后端的应用程序。我需要捕获SQL Server错误并在C#GUI上显示它。例如:(在SQL服务器中)我创建一个包含列ID,名称,年龄等的表,其中ID是主键,如果我在ID中插入相同的值两次SQL服务器会给出错误。我希望在C#GUI上显示这种错误,以便当用户通过C#表单将重复数据输入到SQL服务器中时,会自动生成一个错误。我需要这个,请代码... 感谢在C#和SQL中需要帮助
-6
A
回答
2
典型的错误是由.NET类抛出......你真的需要你的问题
try
{
// ...
SqlCommand.ExecuteNonQuery(...);
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
1
try
{
//Run query here
}
catch(SqlException e)
{
MessageBox.Show(e.Message);
}
1
提供更多的代码或上下文
您需要捕获您可以使用异常尝试和抓:
try
{
//Your command here
}
catch (Exception e)
{
//Now you can use e.Message OR e.ToString() to get the message.
}
0
我想扩展Timmerz的答案,因为如果您自己显示异常,您可以看到整个堆栈跟踪。如果您湾东西短而精确的用户看到然后执行以下操作:
try
{
// ...
SqlCommand.ExecuteNonQuery(...);
}
catch(SqlException SqlEx)
{
string errMsg = String.Empty;
switch(SqlEx.number)
{
case 100:
errMsg = "blah blah blah";
break;
case 200:
errMsg = "blah blah blah";
break;
case 300:
errMsg = "blah blah blah";
break;
}
if(!String.IsNullOrEmpty(errMsg))
{
//If you want a pop up display message
MessageBox.Show(errMsg);
//If you want to display it on a label of a form
Form1.Labelx.text = errMsg;
}
}
对于SqlEx.number值,你可以创建一个枚举来检查它,或者你可以参考http://msdn.microsoft.com/en-us/library/cc645603.aspx所有从SQL服务器异常返回的可能数量。
希望这会有帮助
相关问题
- 1. 需要帮助Sql Asp.net C#
- 2. 需要帮助SQL
- 3. SQL帮助需要
- 4. 需要SQL帮助
- 5. SQL帮助需要
- 6. SQL需要帮助
- 7. 需要帮助做在SQL
- 8. 需要帮助在SQL Server中查询
- 9. 在SQL连接中需要帮助
- 10. 在Oracle SQL查询中需要帮助
- 11. 在java中解析sql需要帮助
- 12. 在datetime SQL中需要帮助语法
- 13. 需要帮助的SQL Server
- 14. 需要帮助有关SQL
- 15. SQL需要请求帮助
- 16. 需要SQL查询帮助
- 17. 需要SQL语句帮助
- 18. 需要SQL查询帮助
- 19. SQL查询帮助需要
- 20. 需要Sql Query帮助
- 21. 需要SQL语句帮助
- 22. SQL查询需要帮助
- 23. 需要SQL Server帮助
- 24. SQL GROUP BY和骨料需要帮助
- 25. 在C中需要数组的帮助#
- 26. 在C中需要Linq过滤帮助#
- 27. 在C#OCR中需要帮助
- 28. 在c文件中需要帮助make
- 29. flickr需要C#monodroid帮助
- 30. DataGridView C#需要帮助
那么,什么问题? – 2012-03-27 15:59:07
问题在于,OP需要代码;) – gbianchi 2012-03-27 16:00:50
在高层(因为在问题中没有代码,这是一个非常广泛的问题),您想要做的就是从您的数据访问代码中捕获异常并通过在用户界面中显示友好的错误来处理这些异常。更多信息在这里:http://msdn.microsoft.com/en-us/library/ms173160.aspx – David 2012-03-27 16:00:51