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)
------解决方案--------------------