当表 1 数量字段大于 0 时,将数据从表 1 插入到表 2



我有两个表(lib_bookissue_book(。每当我发行一本书时,我都会从lib_book减少数量值。当数量达到"0"时,我想停止在表 2 中插入并显示"图书馆中没有书"。当我执行此操作时,会抛出NullPointerException,我不知道如何防止它。

b1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
try{
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/library?allowMultiQueries=true","root","");
query="select Quantity from lib_book where BookId='"+t1.getText()+"';";
rs=stmt.executeQuery(query); 
if(rs.equals("0"))
{
JOptionPane.showMessageDialog(null,"Book not Available");
}
else
{
query="insert into issue_book values('"+t1.getText()+"','"+t2.getText()+"','"+t3.getText()+"','"+t4.getText()+"','"+t5.getText()+"','"+t6.getText()+"','"+l11.getText()+"');";
stmt.executeUpdate(query);
JOptionPane.showMessageDialog(null,"Book Issued Successfully");
query="update lib_book set Quantity=Quantity-1 where BookId='"+t1.getText()+"';";
stmt.executeUpdate(query);
}
}
catch(Exception ex){
JOptionPane.showMessageDialog(null, ex);
}
showTableData();
showTable2Data();
}
});

你的行:

rs=stmt.executeQuery(query);

返回类型为 ResultSet 的对象(请参见 https://docs.oracle.com/javase/8/docs/api/java/sql/ResultSet.html (

要获取数量值,您应该使用:

rs.getInt("Quantity") 

(假设"数量"是整数...

最新更新