在sql查询分析器里运行应是
declare @riqi integer
set @riqi = 30
select * from user where datediff(day,dateandtime,getdate()) <= @riqi

解决方案 »

  1.   

    searchSql="select * from user where datediff(day,dateandtime,getdate())<="&riqi 
    riqi要变成字符串型.
      

  2.   

    declare @searchSql varchar(8000)
    declare @riqi varchar(100)
    set @riqi='2004-11-24'
    set @searchSql='select * from user where datediff(day,dateandtime,getdate())<='''+@riqi+''''
    print @searchSql 
      

  3.   

    1. 把变量riqi转换成字符型。
    2. searchSql="select * from user where datediff(day,dateandtime,getdate())<="&riqi或直接写成:searchSql="select * from user where datediff(day,dateandtime,getdate())<="&str(riqi)