java - 显示导入数据库的进度对话框

时间:2014-03-12 08:03:16

标签: java sql while-loop progress-bar progressdialog

我想使用while循环显示我的应用程序从csv文件导入数据库的进度条对话框 -

这是我的代码 -

try
               {
                BufferedReader br=new BufferedReader(new FileReader("temp.csv"));
                String line;
                line=br.readLine();
                while((line=br.readLine())!=null)
                {
                    String[]value = line.split(",");

                    String sql = "INSERT into main ([Ticket #], Status, Priority, Department, [Account Name]) "
                     + "values ('"+value[0]+"','"+value[1]+"','"+value[2]+"','"+value[3]+"','"+value[4]+"')";

                    System.out.println(sql);

                    PreparedStatement pst = null;

                    try{
                        pst = db.prepareStatement(sql);
                        pst.executeUpdate();

                    }finally{
                        if(pst != null){
                            pst.close();
                        }
                    }

                }
                br.close();


               }

               catch(Exception e)
               {
                JOptionPane.showMessageDialog(null, e);
               }

            }

我想在执行中执行while循环。

1 个答案:

答案 0 :(得分:0)

正如Ceiling Gecko所说,首先您必须计算总行数。 Here是否可以找到一些可能性。

之后,您可以轻松创建一个进度对话框,其中包含带有UiBooster的消息,例如:

int totalLines = ...;
int currentLine = 0;

ProgressDialog dialog = new UiBooster().showProgressDialog("Please wait", "Waiting", 0, totalLines);
dialog.setProgress(currentLine);