int 值怎么可能为null呢? 当你声明一个int时,它的初始值就为0

解决方案 »

  1.   

    这个字段就不要插了,默认就是null
      

  2.   

    可以考虑将数据库这个字段定义为char(1)类型,如果取值范围只有0-9的话
    那么就不会有这种问题了
      

  3.   

    同意 gxj0637() :  这个字段就不要插了,默认就是null 
     
     还有就是把你的代码片段贴出来,具体问题具体分析!!!!
      

  4.   

    对象可以为空将int转换为Integer应该可以吧
      

  5.   

    public int  insertRow() throws SQLException
      {
        ResultSet rs;    PreparedStatement ps = conn.prepareStatement(
                "insert into t_directory (parent, name , b_delete, project) " +
                "values(?, ? ,? ,?) ");
        ps.setLong(1, lParent);
        ps.setString(2, sName);
        ps.setInt(3, iDeleteFlag);
        ps.setLong(4, lProject);    return ps.executeUpdate();
      }其中lProject为空时怎么办?
      

  6.   

    1. 声明的时候不要赋值
    2. 可以在插入数据库时进行控制,是0时,insert中有这个字段,否则 insert中没有这个字段
      

  7.   

    int是变量呀!要是个类才可以设为null,比如Integer