编写了一个程序,点击确定按钮时,执行一个存储过程,在存储过程里面,对数据进行处理,如果不符合条件,我就以 raiserror 200001 '信息' return 这样的方式返回, 我在电脑上的wince模拟器上使用 ,是可以显示正常的错误信息的,但是安装到wince设备上以后,弹出的错误信息就是sqlexception。请问如何才能显示我在数据库里面返回的那个信息
------解决思路----------------------
弹出的错误信息就是sqlexception,说明SQL在本地的运行环境中缺少组件之类的文件,可以根据具体弹出的信息框来判断原因。
————————————————————————————————
我参加了 CSDN 2014 博客之星大赛,请大家多多支持,投票网址如下:
http://vote.blog.csdn.net/blogstar2014/details?username=woshi_ziyu#content
------解决思路----------------------
程序应该还没有运行到这一步吧
------解决思路----------------------
有其他的类型,可以参考一下这个代码:
public static void ShowSqlException(string connectionString)
{
string queryString = "EXECUTE NonExistantStoredProcedure";
StringBuilder errorMessages = new StringBuilder();
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand(queryString, connection);
try
{
command.Connection.Open();
command.ExecuteNonQuery();
}
catch (SqlException ex)
{
for (int i = 0; i < ex.Errors.Count; i++)
{
errorMessages.Append("Index #" + i + "\n" +
"Message: " + ex.Errors[i].Message + "\n" +
"LineNumber: " + ex.Errors[i].LineNumber + "\n" +
"Source: " + ex.Errors[i].Source + "\n" +
"Procedure: " + ex.Errors[i].Procedure + "\n");
}
Console.WriteLine(errorMessages.ToString());
}
}
}
MSDN SqlException 类
————————————————————————————————
我参加了 CSDN 2014 博客之星大赛,请大家多多支持,投票网址如下:
http://vote.blog.csdn.net/blogstar2014/details?username=woshi_ziyu#content
------解决思路----------------------
弹出 sqlexception 的异常信息,说明程序在还没有执行到你想要的 raiserror 200001 '信息' 时就已经出现异常了,毕竟模拟器与真机的环境还是有较大的差别的。在模拟器上执行没有问题,在真机上不一定就正确。
你需要先处理 sqlexception,保证 SQL 正常执行后,你一定会得到你想要的 raiserror 200001 '信息' 的。
————————————————————————————————————————————————
我参加 CSDN 博客之星大赛了,投票网址如下,大家多多支持。多谢先!
http://vote.blog.csdn.net/blogstar2014/details?username=91program#content
每天都可以投一票支持我一下的。