用动态SQL语句exec('SELECT F_ModifyDate,F_SubRC,F_SubNo,F_SubName,F_SubRC,MPDno,P_Nickname,F_SubPV From ForumSub WHERE F_BrdNo=@intBrdNo AND F_DelMark=0
AND '+@strOrder+' BETWEEN '+convert(varchar(30),@int_pageend)+' AND '+convert(varchar(30),@int_pagebegin)+' ORDER BY '+@strOrder+' DESC'

解决方案 »

  1.   

    看不大清楚,能不能把exec的格式和要求将清楚点吗??
    这样是不是就可以实现列也用变量了啊?
      

  2.   

    数据库应用程序通常进行确定的工作,因此在编写和编译时,就可以确定完整的SQL语句,但当需要使用不支持的嵌入SQL语句(如DDL语句),或者在编译时不知道语句的具体格式或参数,则在运行时构成SQL语句,这类语句被称为动态SQL语句。在 EXECUTE 语句执行前,不会编译 EXECUTE 语句内的语句  动态SQL语句的格式:
    执行字符串:EXEC [ UTE ] ( { @string_variable | [ N ] 'tsql_string' } [ + ...n ] )使用字符串串联运算符 (+) 为动态执行创建长字符串。每个字符串表达式可以是 Unicode 与 non-Unicode 数据类型的混合。
    其他看帮助。