牛腩新闻发布--从数据类型 nvarchar 转换为 int 时出错

发现问题

在完成上一个问题之后“过程或函数 ‘news_selectByCaId’ 需要参数 ‘@caid’,但未提供该参数。”点击Ctrl+F5运行,给我出现了”从数据类型 nvarchar 转换为 int 时出错。”错误如下:
这里写图片描述

分析问题

说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.SqlClient.SqlException: 从数据类型 nvarchar 转换为 int 时出错。
源错误:
行 134: cmd.CommandType = ct;
行 135: cmd.Parameters.AddRange(paras);
行 136: using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)) //Using的用法是在执行该命令的时候,如果关闭关联的DataReader对象,则关联的Connection对象也将关闭
行 137: {
行 138: dt.Load(sdr);
源文件: c:\Users\ITLuoxiaojun\Desktop\牛腩新闻发布\牛腩新闻发布\DAL\SQLHelper.cs 行: 136

从报错中得到的信息是无法将 nvarchar 类是的值转化为 int 类型的值,而且错误源还是在SQLHelper层的第136行,所以我就去找相应的调取过程,结果各个层面的数据都是正常的,所以这个错误的出现不应该是后端的问题。于是我去网上找相关的解决方法,找了一大堆,但是网上给出的解决方法都不适用于我这个错误。还好我身边有一位大神,我请他帮我来看一下,他分析了一下,然后看了一下网址,发现每次在调取数据的时候网址里面多出现了一个 “>” ,因为这个符号的出现,所以就每次都定位不到我所指定的那个网站,以至于每次都报错,所以这方面的问题应该出现在前端。

解决问题

因为这个页面是需要在主页中调取的,所以我打开主页,然后发现,主页中是引用了Web用户控件,所以需要去控件的那个页面查看,果不其然,在控件的页面中的超链接那块发现多了一个 ” > ” 符号,于是,将多出的符号删除,然后保存运行,问题解决!

个人总结

这个问题在之前都一直存在,但是因为自己没有太在意,所以一直保留着,直到现在才发现,以至于在众多的代码中找寻错误,这是一件非常费神费时的过程,所以,如果一开始基础打好了,那么后面的事情都能进行的一帆风顺,那样多好啊!

成长是痛苦的,少年你还需要加油!!!…

end

感谢您的细心阅读,有不当之处还请您指出。

猜你喜欢

转载自blog.csdn.net/luojun13class/article/details/80606907
今日推荐