select * from table where id in(?)cmd.Parameters.Add("@ID",strID,DataBase.ParameterType._String);在查询时。当ID多个时应该怎么拼接strID?
例如:select * from table where id in(1,2,3)select * from table where id in(?)cmd.Parameters.Add("@ID",strID,DataBase.ParameterType._String);strID = ?

解决方案 »

  1.   

    没看懂.如果是两个串
    strid = str1 || ',' || + str2
      

  2.   

    cmd.Parameters.Add("@ID",strID,DataBase.ParameterType._String);
    如果没猜错的话楼主是调用了存储过程吧,那楼主这样处理的实现难度很大,最好把@ID传到过程中
    然后再做串。 
      

  3.   

    应该是C#,但cmd.Parameters.Add("@ID",strID,DataBase.ParameterType._String);
    在C#应是cmd.Parameters.Add(":ID",strID,DataBase.ParameterType._String);
    传过到过程处理
      

  4.   

    楼主写的是C#加sqlserver。
    拼select * from table where id in(1,2,3)
    这么一句话很容易啊。每一个后面加一个逗号,最后一个减一个就行了。
    如果换成oracle,语句应该是
    select * from table where id in(:p_id);
    cmd.Parameters.Add("p_id",strID,oracletype.varchar2); 
      

  5.   

    -- 可以通过建临时表/表匹配记录的方式
    http://topic.csdn.net/u/20090105/15/5cd09230-10e2-4e01-ae4a-ad4a32527d10.html