无法使用Java GUI在MS Access中具有正确的ID

无法使用Java GUI在MS Access中具有正确的ID,java,swing,Java,Swing,我有两个问题在网上找不到答案。 我试过几件事,但都不管用 我把代码贴下来了,但是。。。每次我在我的数据库中按下“ADAUGA”(意思是插入)按钮,它会给我一个更大的ID(附照片)。例如,如果我现在添加另一个单词,它会给我ID 28(可能) 如何“删除”错误:“java.lang.NumberFormatException:对于输入字符串:”“每当我按“Adauga”时,它都会显示此错误(附照片) 代码: 照片Q1: 照片Q2: 移动以下行: id=Integer.parseInt(t5.get

我有两个问题在网上找不到答案。 我试过几件事,但都不管用

  • 我把代码贴下来了,但是。。。每次我在我的数据库中按下“ADAUGA”(意思是插入)按钮,它会给我一个更大的ID(附照片)。例如,如果我现在添加另一个单词,它会给我ID 28(可能)
  • 如何“删除”错误:“java.lang.NumberFormatException:对于输入字符串:”“每当我按“Adauga”时,它都会显示此错误(附照片)
  • 代码:

    照片Q1:

    照片Q2:
    移动以下行:

    id=Integer.parseInt(t5.getText());
    

    在包含
    setInt
    的行之前,因此它仅对按钮
    b2
    b3
    执行,而不对按钮
    b1
    执行。移动以下行:

    id=Integer.parseInt(t5.getText());
    

    在包含
    setInt
    的行之前,它只对按钮
    b2
    b3
    执行,而不是对按钮
    b1

    执行。这是一个好主意,我不知道为什么我没有想到这一点。我猜是小错误还是大错误:-)非常感谢!问题是,即使现在,如果我添加一个新行,它也会给我ID 29。那么,现在有什么问题?您希望新生成的ID显示在文本字段中,但它仍然为空?正如我在Q1中所述,问题是每次我输入文本字段时,它都不会向我的“filme”表生成下一个ID,正如您在第一张照片(P1)中所看到的,它只是给我一个“27”filme_id,而不是14或其他下一行。这是Microsoft Access(以及SQL Server)中自动编号字段的工作方式:在对某行使用数字后,该值不会再次使用,即使该行在添加任何其他行之前被删除(或者即使尝试添加该行的事务由于错误而回滚).所以我想我应该习惯它,因为另一个我没有的选择,我想。这是个好主意,我不知道为什么我没有想到这一点。我猜是小错误还是大错误:-)非常感谢!问题是,即使现在,如果我添加一个新行,它也会给我ID 29。那么,现在有什么问题?您希望新生成的ID显示在文本字段中,但它仍然为空?正如我在Q1中所述,问题是每次我输入文本字段时,它都不会向我的“filme”表生成下一个ID,正如您在第一张照片(P1)中所看到的,它只是给我一个“27”filme_id,而不是14或其他下一行。这是Microsoft Access(以及SQL Server)中自动编号字段的工作方式:在对某行使用数字后,该值不会再次使用,即使该行在添加任何其他行之前被删除(或者即使尝试添加该行的事务由于错误而回滚).所以我想我应该习惯它,就像其他我没有的选择一样。不要使用单一的ActionListener。您不应该在ActionListener中使用if/else语句来确定单击了哪个按钮。使用一个PreparedStatement和为该PreparedStatement设置参数的代码保持逻辑简单。你不太可能犯愚蠢的错误!不要使用单个ActionListener。您不应该在ActionListener中使用if/else语句来确定单击了哪个按钮。使用一个PreparedStatement和为该PreparedStatement设置参数的代码保持逻辑简单。你不太可能犯愚蠢的错误!