数据库查询时遇到错误
执行这句时出错:
MyReader = MyComm.ExecuteReader();
提示错误是:标准表达式中数据类型不匹配
表达式:
string MySql = "Select * From [News_TAB]"+
               "where News_ID = '"+Convert.ToInt16(Request.QueryString["NewsID"])+"' ";
为什么会这样啊?
急!

解决方案 »

  1.   

    你的MySql变量的数据类型是string,你要在“+”号后面放一个Int16变量,当然是类型不匹配了。
    直接用QueryString得到的数据就行了,不用转换。
      

  2.   

    string MySql = String.Format("Select * From [News_TAB] where News_ID = {0}",Convert.ToInt16(Request.QueryString["NewsID"]));你先保证Convert.ToInt16(Request.QueryString["NewsID"])是数字类型的,然后再拼sql语句
      

  3.   

    string MySql = "Select * From [News_TAB]"+
                   "where News_ID = '"+Request.QueryString["NewsID"])+"'";
      

  4.   

    string MySql = "Select * From [News_TAB]"+
                   "where News_ID = '"+Request.QueryString["NewsID"]+"' ";