0

我得到了这样的东西。

PreparedStatement statement = manager.getConnection().prepareStatement("delete from student_marks where reg_number = ? and semester = ?");      
statement.setInt(1,1);
statement.setString(2,"S1");    
System.out.println(statement.executeUpdate()); 

但是当我这样做时,executeUpdate 返回 0。如果我直接替换'?使用这些值,则 executeUpdate 工作正常。就我而言,它返回 4 表示删除了 4 行。我无法理解问题出在哪里。

4

1 回答 1

0

这取决于您的列类型...如果 reg_number 的列类型是数字(任何数字数据类型),那么只有您必须将其设置为整数,否则您必须使用字符串进行设置。

PreparedStatement statement = manager.getConnection().prepareStatement("delete from student_marks where reg_number = ? and semester = ?");      
statement.setString(1,"1");
statement.setString(2,"S1");    
System.out.println(statement.executeUpdate()); 

正如jlordo指出的那样,您是否在下次删除之前重新插入记录?

于 2012-11-29T15:47:21.230 回答