提示 ( 附近有错误
t 附近有错误
( 附近有错误
if (product_type == "2")//如果是手机
{
StringBuilder sql =new StringBuilder("select top (cast('" + PageSize + "' as int)) * from M_phone a left join ( select * from m_phoneimages b where id=( select top 1 id from m_phoneimages where pid=b.pid))t on a.id=t.pid "); sql.Append(" where a.id>( select ISNULL(MAX(xx.id),0) from ( select TOP (cast('" + PageSize + "' as int) * (cast('" + CurrentPage + "' as int)-1)) id from m_phone where 1=1 "); if (type != null)
{
sql.Append(" and type=@type ");
} sql.Append(" ORDER BY id)xx ) "); if (type != null)
{
sql.Append(" and a.type=@type ");
} sql.Append(" ORDER BY a.id ");
AND a.id=t.pid
MSSQL起别名要用AS的
if (product_type == "2")//如果是手机
{
StringBuilder sql =new StringBuilder("select top (cast('" + PageSize + "' as int)) * from M_phone a left join ( select * from m_phoneimages b where id=( select top 1 id from m_phoneimages where pid=b.pid))t on a.id=t.pid "); sql.Append(" where a.id>( select ISNULL(MAX(xx.id),0) from ( select TOP (cast('" + PageSize + "' as int) * (cast('" + CurrentPage + "' as int)-1)) id from m_phone where 1=1 "); if (type != null)
{
sql.Append(" and type=@type ");
} sql.Append(" ORDER BY id)xx ");/*這里多了一个括号*/ if (type != null)
{
sql.Append(" and a.type=@type ");
} sql.Append(" ORDER BY a.id ");
应该是TOP()这样不对,上面弄错了,没看到有连接
跟踪程序,把sql语句打印出来。然后找问题。会容易一些。
我这里没有SQL 2000,没办法给你测试。
我在MYSQL下select * from tab1 limit 10(limit相当于MSSQL里面的top)如果我把limit 10改成limit (10),这样查询就会报错
2005上可能支持top(10)这样的格式,而在2000上不支持。我这里没有MSSQL 2000,所以没办法给你测试了。
不过我在MYSQL上这样测试select * from tab limit 10(limit相当于MSSQL的TOP),我如果把limit 10改成limit (10)却会报错,有可能这也是一个问题
有可能是这个,SQL2000种top后面是一个真实数,不能通过计算的,SQL2005就支持计算,select top 15/5 * from table
if (type != null)
{
sql.Append(" and type=@type ");
} sql.Append(" ORDER BY id)xx ) "); if (type != null)//怎么还执行2次!=null呢
{
sql.Append(" and a.type=@type ");
}
{/*这个括号没有匹配的结束*/
StringBuilder sql =new StringBuilder("select top (cast('" + PageSize + "' as int)) * from M_phone a left join ( select * from m_phoneimages b where id=( select top 1 id from m_phoneimages where pid=b.pid))t on a.id=t.pid "); sql.Append(" where a.id>( select ISNULL(MAX(xx.id),0) from ( select TOP (cast('" + PageSize + "' as int) * (cast('" + CurrentPage + "' as int)-1)) id from m_phone where 1=1 "); if (type != null)
{
sql.Append(" and type=@type ");
} sql.Append(" ORDER BY id)xx ");/*這里多了一个括号*/ if (type != null)
{
sql.Append(" and a.type=@type ");
} sql.Append(" ORDER BY a.id ");