'server=dataserver;uid=dataok;pwd=readdataok','select * from t_user where user_no='''+@uno+''''

解决方案 »

  1.   

    不行啊!
    错误:
     Incorrect syntax near '+'.
      

  2.   

    declare @uno varchar(12)set @uno='123456789'
    exec( 'select * from openrowset(''sqloledb'',''server=dataserver;uid=dataok;pwd=readdataok'',''select * from t_user where user_no=''' + @uno + ''')')
      

  3.   

    declare @uno varchar(12)set @uno='123456789'
    exec( 'select * from openrowset(''sqloledb'',''server=dataserver;uid=dataok;pwd=readdataok'',''select * from t_user where user_no=''' + @uno + ''')')
      

  4.   

    不行啊!
    错误:
    Server: Msg 170, Level 15, State 1, Line 2
    Line 2: Incorrect syntax near '123456789'.
    Server: Msg 105, Level 15, State 1, Line 2
    Unclosed quotation  before the character string ')'.
      

  5.   

    declare @uno varchar(12)set @uno='123456789'
    exec( 'select * from openrowset(''sqloledb'',''server=dataserver;uid=dataok;pwd=readdataok'',''select * from t_user where user_no=123456789'')')
    这样可以。
    为什么加参数就不行?
      

  6.   

    declare @uno char(12)
    set @uno='123456789'exec('
    select * from openrowset(''sqloledb''
    ,''server=dataserver;uid=dataok;pwd=readdataok''
    ,''select * from t_user where user_no=''''''+@uno+'''''''')
    ')
      

  7.   

    --上面错了,再改一下:declare @uno char(12)
    set @uno='123456789'exec('
    select * from openrowset(''sqloledb''
    ,''server=dataserver;uid=dataok;pwd=readdataok''
    ,''select * from t_user where user_no='+@uno+''')
    ')