写了一个存储过程部分语句如下:   
CREATE       proc       Get_Account_Collect   
(   
@SIMCard       varchar(100)   
)   
as   
begin   
                
declare       @SQL1       nvarchar(2000)   set       @SQL1='select       c.simcard       ,CName,CustCatlog           from       Customer       c       inner       join       STKCard       o       on       o.CustID=c.ID'       
    
            if       len(@SIMCard)>   0                                           
                                BEGIN                                                                                                           
                                                                set           @SQL1       =               @SQL1       +       '       and       c.CustomerNo       in       '       +       @simCard       
                                                                    
                            END   
        ...   因为要向字符串类型的SQL中传参数,所以我传入的参数是       (''001'',''002'')     写在程序中的代码是: 
    SqlParameter   paraSIMCard   =   new   SqlParameter("@SIMCard",   SqlDbType.VarChar,   100); 
                                paraSIMCard.Value   ="(''001'',''002'')"; 
                                cmd.Parameters.Add(paraSIMCard); 
      他总是报错. 但是我在存储过程中直接把给参数@simCard赋值   ,即:set   @simCard='(''001'',''002'')'   或者直接在查询分析器中运行   
exec   Get_Account_Collect   '(''001'',''002'')'     
这样都可以运行.就是放在程序中执行的时候不行,好奇怪呀...这到底是为什么呀.哪位大GG帮帮小弟呀..不甚感激呀!