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.