读书人

try{}catch{}错误有关问题

发布时间: 2012-03-05 11:54:01 作者: rapoo

try{}catch{}异常问题?
程序中用到了
try{}catch{}语句,
如下代码:

try
{
string carid = Request.QueryString["id"].ToString();

string sql = "*******";

if (Convert.ToInt32(dll.Query(sql).Rows.Count) == 1)
{
lblBname.Text = dll.Query(sql).Rows[0][0].ToString();
}
}
catch
{
Response.Write("<script>history.go(-1);</script>");
}

在正常的链接情况下,正常获取到carid的值,但如果在地址栏上id=5的后头加上个'号的话,会提示不能把nvarchar值转成列int型...我都有用try{}catch{}来获取异常了,为何不是执行catch{}里头的语句?谢谢

[解决办法]
将'替换成空,同时也防止sql注入
[解决办法]
if (Convert.ToInt32(dll.Query(sql).Rows.Count) == 1)

改为 int i=Convert.ToInt32(dll.Query(sql).Rows.Count);
if(i==1)
[解决办法]

探讨
楼上的,还是照样提示出错:

异常详细信息: System.Data.SqlClient.SqlException: 将 nvarchar 值 '14'' 转换为数据类型为 int 的列时发生语法错误。

读书人网 >asp.net

热点推荐