异常详细信息: System.Data.SqlClient.SqlException: 关键字 'from' 附近有语法错误。  
错误源
行 165:                if (pars != null)
行 166:                    cmd.Parameters.AddRange(pars);
行 167:                T result =  (T)cmd.ExecuteScalar();
行 168:                conn.Close();
行 169:                return result;这是我的sql语句
string sql = "select top " + pageSize + " * from StoreDoor where RoomId not in (select top " + int.Parse(pageIndex) + " RoomId from StoreDoor order by RoomId desc) order by RoomId desc";

解决方案 »

  1.   

    调试程序,把sql 语句拿出来去执行下就知道错误在哪里了,把断点打在sql 语句这里,F5执行
      

  2.   

    pageSize 估计出错在这里
    int.Parse(pageSize)试试
      

  3.   

    首先,你的Order by 是不能用在这样的子查询里面的,要去掉。
    另外,ExecuteScalar()指的是查询单行单列的返回结果,不是数据集,你用*能取对数据?
    其次,把sql的结果拷出来看看吧,看是外面的语句有问题还是里面的语句有问题。pageSize 和 pageIndex是否有正确的值。。