都是拼装动态SQL语句的字符串的处理,看不明白就在exec(@sql)之前,使用print @sql把字符串输出来。

解决方案 »

  1.   

    1。是不是以下代码往excel表写数据?
    set @sql='openrowset(''MICROSOFT.JET.OLEDB.4.0'',''Excel 8.0;HDR=YES
       ;DATABASE='+@path+@fname+''',['+@sheetname+'$])'exec('insert into '+@sql+'('+@fdlist+') select '+@fdlist+' from ['+@tbname+']')是的....首先把excel当数据源,然后往里insert 这个是一个很平常的应用2。以下代码是什么意思?
    系统表的应用,不懂可以查看sysobjects等系统表的数据,你就懂了
      

  2.   

    感谢楼上2位
    那 @fdlist 到底是个什么参数? 
    我想换个自己的表都需要改那些地方??
      

  3.   

    @sqlstr varchar(8000),   --查询语句,如果查询语句中使用了order by ,请加上top 100 percent
    @path nvarchar(1000),   --文件存放目录
    @fname nvarchar(250),   --文件名
    @sheetname varchar(250)=''  --要创建的工作表名,默认为文件名
    传入你自己的参数就好了,这个是通用的
      

  4.   

    那不用理这块
    when b.name like '%int' or b.name='bit' then 'int'
       when b.name like '%datetime' then 'datetime'
       when b.name like '%money' then 'money'
       when b.name like '%text' then 'memo'