对取得的deleteEmailId做类型转换之后 pstmt.setInt(1,deleteEmailId);

解决方案 »

  1.   

    for(int i=0;i<s_EmailID.length;i++)
    {
      deleteEmailID = deleteEmailID +"," + s_EmailID[i];
    }
    里面是字符数字加","你转过来也是出错的,
      

  2.   

    干嘛要setString?
    setLong、setBigDecimal之类的不行吗?
      

  3.   

    哦,刚刷新才看到上边那回复,那别set了,直接拼个sql出来好了
    setString的话,那语句会在参数头尾加单引号的变成in ('1,2,3')之类的
      

  4.   

    deleteEmailID是这样的格式吧:"3,4,5,6,7"sql = "delete email where emailid in (";
    sql += deleteEmailID;
    sql += ")";不就行了拼个sql语句而已
      

  5.   

    特意装了个SQL Server 2000测试了,没错哪一样了?你那代码产生的是
    delete email where emailid in ('4,5,6,7,8')我这产生的是
    delete email where emailid in (4,5,6,7,8)
      

  6.   

    兄弟留个QQ号再聊吧!
    我的意思是包含在in里面的这些字符是不确定的,可能是1个也可能是100个你没法去拼