首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

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

2012-03-05 
try{}catch{}异常问题?程序中用到了try{}catch{}语句,如下代码:try{string carid Request.QueryString[

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 的列时发生语法错误。

热点排行