日期:2014-05-17  浏览次数:20849 次

帮我看看这个sql语句哪里有错误。谢谢~
string sql = 
"select top @PageSize * from Album where Id not in " + "(" + "select top @PageIndex Id from @name" + ")" + " ";
                SqlCommand cmd = new SqlCommand(sql, con);
                cmd.Parameters.Add("@PageSize", PageSize);
                cmd.Parameters.Add("@PageIndex", PageIndex);
                cmd.Parameters.Add("@name", typeof(name).Name);


他报这样的错:
'@PageSize' 附近有语法错误。
'@PageIndex' 附近有语法错误。

请各位大虾帮忙看看~感谢

------解决方案--------------------
top 关键字后面,from关键字后面都不允许出现变量,必须写死,你却通过变量动态传递,自然会报错。
------解决方案--------------------
sql语句不支持这种语法,你要在程序中讲@pagesize,@pageindex替换成相应数字
------解决方案--------------------
sql不支持这种写法,还是拼接字符串吧