java.sql.SQLSyntaxErrorException: ORA-01722: 数値が無効です。のエラーが出ました。CSVファイルを読み込ませ、データベースに記入するシステムを作りたく、その途中で上記のエラーが出ました。

CSV書き込みのコントローラに

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        CSVReader csvReading;
        String fileName;
        T001ItemDao itemDao;
        String nextPage = "";

        String name = request.getParameter("name");
        String code = request.getParameter("code");
        // //金額の取得
        String unitPrice = request.getParameter("unitPrice");
        // 数量の取得
        String count = request.getParameter("count");
        String isPR = request.getParameter("isPR");
        String img = request.getParameter("image");
        ServletContext con = getServletConfig().getServletContext();

        csvReading = new CSVReader();
        csvReading.csvAdd(request,con);

        List<List<String>> csvResult = csvReading.read();


            for(int i = 4; i < csvResult.size(); i++) {
                if (null != csvResult.get(i)) {
                    for (int j = 0; j < csvResult.get(i).size(); j++) {
                        System.out.println("csvResult"+csvResult.get(i).get(j));
                        if (0 == (i % 4)){

                            try {
                                itemDao = new T001ItemDao();
                                int itembean = itemDao.update(code, name, unitPrice, count);
                                request.setAttribute("itembean", itembean);
                                nextPage = "/list.jsp";
                            } catch (ClassNotFoundException e) {
                                // TODO 自動生成された catch ブロック
                                e.printStackTrace();
                            } catch (SQLException e) {
                                // TODO 自動生成された catch ブロック
                                e.printStackTrace();
                            }

                        }else{
                            try {
                                itemDao = new T001ItemDao();
                                int result = itemDao.addItem(name, unitPrice, count,isPR,img);
                                if (result == 1) {
                                    nextPage = "/list.jsp";
                                } else {
                                    nextPage = "/add.jsp";
                                }
                            } catch (ClassNotFoundException e) {
                                // TODO 自動生成された catch ブロック
                                e.printStackTrace();
                            } catch (SQLException e) {
                                // TODO 自動生成された catch ブロック
                                e.printStackTrace();
                            }
                        }
                    }
                }

            }

        System.out.println("csvResult"+csvResult);
    }

と書き、CSV書き込みのクラスに

public List<List<String>> read() {

        // 返却用リスト箱作成
        List<List<String>> ret = new ArrayList<List<String>>();
        if (fileName != null) {
            System.out.println("fileName" + fileName);
            String inputCsvFile = "C:\\pleiades\\workspace\\hasuike\\jspServlet\\WebContent\\csv\\test1.csv";
            File csv = new File(inputCsvFile);
            System.out.println(csv);

            BufferedReader br = null;

            try {
                int lineCount = 0;
                // ファイルオープン
                 br = new BufferedReader(new FileReader(csv));

                // num行読み込む(0の場合は全行)
                String line = "";
                int idx = 0;
                while ((line = br.readLine()) != null) {
                    lineCount++;

                    // 1行を格納する箱作成
                    List<String> tmpList = new ArrayList<String>();

                    // 文字列index
                    int idxFrom = 0;
                    int idxTo = 0;
                    // 文字列長
                    while (true) {

                        // 最終項目を取得後は終了
                        if (idxFrom > line.length()) {
                            break;
                        }

                        // 次のセパレータ位置を取得
                        idxTo = line.indexOf(",", idxFrom);

                        // セパレータが発見できない場合は最終項目を取得
                        if (idxTo == -1) {
                            idxTo = line.length();
                        }

                        // 文字列取得
                        String word = line.substring(idxFrom, idxTo);

                        // 文字列を格納
                        tmpList.add(word);

                        // 検索開始位置を更新
                        idxFrom = idxTo + 1;
                    }

                    // 返却用リストに1行データを格納
                    ret.add(tmpList);

                    // numを超えたら読み込み終了。numが0のときは全量読む。
                    if (lineCount != 0 && idx > lineCount) {

                        break;
                    }
                }
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                try {
                    if (br != null) {
                        br.close();
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        return ret;
    }

と書きました。エラーの内容を調べてみると型変換の失敗時に出るエラーであるとわかりました。
とってきて csvResultに入れるリストが[, スタバもか, 400, 40, 1], [518, green, 444, 35, 0]]のように配列の最初の要素が空である場合があります。
それにより、エラーが出たのかな、とはおもうのですが、直し方がわからず...
(そもそもその部分ではないかもしれません)

どのように直せばよいのでしょうか?