有这么一段代码
string sql = "SELECT FROM USER_INFO WHERE USER_ID IN (@userId)";
SqlParameter sqlParam = new SqlParameter("@userId", SqlDbType.VarChar, 10);假设我想实现的SQL文是"SELECT FROM USER_INFO WHERE USER_ID IN ('aaa','bbb')";
这时用SqlParameter怎么实现,参数个数不定

解决方案 »

  1.   

    参数个数不确定的话,还是使用StringBuilder做字符串连接简单点吧,不一定执着于使用参数。
      

  2.   

    用字符串连接是可能实现,但是现在就是觉得SqlParameter也应该对IN这种情况有所支持的吧,
    毕竟把SqlDbType设为SqlDbType.Text,也还能对LIKE有效,但是也不适用于IN这种情况
      

  3.   

    其实我的想法就是如何实现把一个字符串"'aaa','bbb'"当成一个参数,而SqlParameter不会自动再在外面加个引号
      

  4.   

    SqlParameter肯定会在字符串类型的参数外面加引号的,它还没聪明到能够判断什么时候你需要它加引号什么时候你又会不需要。
      

  5.   

    SELECT FROM USER_INFO WHERE USER_ID IN ('aaa','bbb');
    这样在sql能执行
    传参数
    SqlParameter sqlParam = new SqlParameter("@userId", SqlDbType.VarChar, 10); 
    sqlParam.Value="'aaa','bbb'";你想要的是不是让它自己加上''
    那你只能自己拼字符串了。