package com.inventory.servlet;

pst=con.prepareStatement("insert into onscreen_record (add_name, price, zone, cinema, audi, priority, start_date, end_date, length_min, length_sec, client_detail)values(?,?,?,?,?,?,?,?,?,?,?)");


                    System.out.println(audi);
                    pst.setString(1,add);
                    pst.setString(2,price);
                    pst.setString(3,"ok");
                    pst.setString(4,cinema[0]);
                    for (int x=0;x<audi.length;x++){
                        pst.addBatch();
                pst.setString(5,audi[x]);
                    }
                pst.setString(6,position);
                pst.setString(7,sdate);
                pst.setString(8,edate);
                pst.setString(9,min);
                pst.setString(10,sec);
                pst.setString(11, client);  
                pst.executeUpdate();

Two issues I see with the code you posted:
- What is the point of setting the PreparedStatement parameters *after* adding a batch?
- For executing a batch use `executeBatch` instead of `executeUpdate`