This tutorial will teach you how to generating Auto Invoice No using Java and Mysql.this example will important for developing the inventory management system project.
FirstStep : we have to establish the database connection
Connection con; PreparedStatement pst; public void Connect() { try { Class.forName("com.mysql.jdbc.Driver"); con = DriverManager.getConnection("jdbc:mysql://localhost/mcafe", "root", ""); } catch (ClassNotFoundException ex) { ex.printStackTrace(); } catch (SQLException ex) { ex.printStackTrace(); } }
Second Step :- Create the Function invoiceid paste code.
public void invoiceid() { try { Statement s = con.createStatement(); ResultSet rs = s.executeQuery("SELECT MAX(invoiceid) FROM sales"); rs.next(); rs.getString("MAX(invoiceid)"); if (rs.getString("MAX(invoiceid)") == null) { txtid.setText("E-0000001"); } else { long id = Long.parseLong(rs.getString("MAX(invoiceid)").substring(2, rs.getString("MAX(invoiceid)").length())); id++; txtid.setText("E-" + String.format("%07d", id)); } } catch (Exception ex) { ex.printStackTrace(); } }
After fill the productname,price click addbutton record will be added in to the database.
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { String id =txtid.getText(); String fname =txtname.getText(); String price =txtprice.getText(); try { pst = con.prepareStatement("insert into sales(invoiceid,prodname,price)values(?,?,?)"); pst.setString(1,id); pst.setString(2,fname); pst.setString(3,price); pst.executeUpdate(); JOptionPane.showMessageDialog(this, "order completed"); invoiceid(); txtname.setText(""); txtprice.setText(""); txtname.requestFocus(); } catch (SQLException ex) { Logger.getLogger(invoice.class.getName()).log(Level.SEVERE, null, ex); } }
I have attached the video tutorial below it will help you to do this step by step.