JProgressBar

Tenho um programa que lê um arquivo texto .CSV e tranfere para o banco de dados MySQL

[code]String arquivoEscolhido = null;
try {
conArquivo.resultset.first();
arquivoEscolhido = conArquivo.resultset.getString(“caminho_arquivo”);
} catch (SQLException ex) {
Logger.getLogger(expedicao.class.getName()).log(Level.SEVERE, null, ex);
}

    BufferedReader in = new BufferedReader(new
            FileReader(arquivoEscolhido));
    String linha;

    while ((linha = in.readLine()) != null) {
        String conteudo[] = linha.split(";");
        String sqlInsert = "insert into notas_faturadas "+
                "(numNF, serie, dataEmissao, status, cliente, transp, " +
                "codItem, qtd, descricao) values ('"+
                conteudo[0]+"','"+
                conteudo[1]+"','"+
                conteudo[2]+"','"+
                conteudo[3]+"','"+
                conteudo[6]+"','"+
                conteudo[7]+"','"+
                conteudo[8]+"','"+
                conteudo[10]+"','"+
                conteudo[9]+"')";
        try {
            conNotas.statement.executeUpdate(sqlInsert);
        } catch(SQLException ex) {
            JOptionPane.showMessageDialog(null,"Erro ao inserir dados na " +
                    "tabela itens\n\n"+ex);
        }
    }[/code]

Como essa importação as vezes demora, pois alguns arquivos tem mais de 1.000 linhas, gostaria que um jProgressBar indicasse o andamento do processo, porem nao tenho ideia de como fazer isso. Alguem pode me ajudar.

Abraços
DOUGLAS LOPES

Dá uma lida na api da JProgressBar

Alguns métodos que podem te ajudar:

progressBar = new JProgressBar(); progressBar.setMaximum(newLength); progressBar.setValue(newValue);

T+

E cara… voce pode criar uma SQL que adicione todos valores de uma vez. Com certeza seria mais rapido do que fazer insert de linha a linha.

e como seria essa SQL?

e como seria essa SQL?[/quote]

StringBuilder sqlInsert = new StringBuilder(INSERT INTO notas_faturadas (numNF, serie, dataEmissao, status, cliente, transp, codItem, qtd, descricao) values ");
while ((linha = in.readLine()) != null) {
            String conteudo[] = linha.split(";");
          sqlInsert.append("('").append(conteudo[0]).append("','");
          sqlInsert.append(conteudo[1]).append("','");
          sqlInsert.append(conteudo[2]).append("','");
          sqlInsert.append(conteudo[3]).append("','");
          sqlInsert.append(conteudo[6]).append("','");
          sqlInsert.append(conteudo[7]).append("','");
          sqlInsert.append(conteudo[8]).append("','");
          sqlInsert.append(conteudo[10]).append("','");
          sqlInsert.append(conteudo[9]).append("'),");
}
sqlInsert.replace(sqlInsert.length()-1, sqlInsert.length(),";");
 try {  
                 conNotas.statement.executeUpdate(sqlInsert.toString());  
      }catch(SQLException ex){
                  JOptionPane.showMessageDialog(null,"Erro ao inserir dados na tabela itens\n\n"+ex);  
}  

e como seria essa SQL?[/quote]

StringBuilder sqlInsert = new StringBuilder(INSERT INTO notas_faturadas (numNF, serie, dataEmissao, status, cliente, transp, codItem, qtd, descricao) values "); while ((linha = in.readLine()) != null) { String conteudo[] = linha.split(";"); sqlInsert.append("('").append(conteudo[0]).append("','"); sqlInsert.append(conteudo[1]).append("','"); sqlInsert.append(conteudo[2]).append("','"); sqlInsert.append(conteudo[3]).append("','"); sqlInsert.append(conteudo[6]).append("','"); sqlInsert.append(conteudo[7]).append("','"); sqlInsert.append(conteudo[8]).append("','"); sqlInsert.append(conteudo[10]).append("','"); sqlInsert.append(conteudo[9]).append("'),"); } sqlInsert.replace(sqlInsert.length()-1, sqlInsert.length(),";"); try { conNotas.statement.executeUpdate(sqlInsert.toString()); }catch(SQLException ex){ JOptionPane.showMessageDialog(null,"Erro ao inserir dados na tabela itens\n\n"+ex); } [/quote]

cara valeu mesmo… deu certo, ficou perfeito… melhor q a progressBar
brigadao mesmo