使用java在sql中添加多行

时间:2016-03-30 21:07:37

标签: java mysql jdbc

我知道使用netbeans将一行添加到sql数据库的简单方法。

这是方法:

Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/zeeshan",
                                              "root","sHaNi97426");
Statement stmt = (Statement)conn.createStatement();
String insert = "INSERT INTO clients VALUES('"+hostname+"');";
stmt.executeUpdate(insert);

现在,我想在sql数据库中添加多行。例如,在下面给出的代码中:

Process p = Runtime.getRuntime().exec("tasklist.exe");
BufferedReader s = new BufferedReader(new InputStreamReader(p.getInputStream()));

while ((s.readLine()) != null) {
    System.out.print(s.readLine()); 
}

我想在sql中添加每一行,直到s.readLine()变为null

请帮帮我。

1 个答案:

答案 0 :(得分:2)

你做错了!使用当前代码,当您调用readLine()两次但仅在第一次输出时,您最终会丢失备用行。

此外,如果您想在数据库中插入多行,那么您应该查看Batch

以下是addBatch()的JAVA文档:

  

将给定的SQL命令添加到此Statement对象的当前命令列表中。通过调用executeBatch方法,可以批量执行此列表中的命令。

你应该这样做:

String input = null;
while ((input = s.readLine()) != null) {
    stmt.addBatch(input); 
}

以下是执行批处理的方法:

int[] result = stmt.executeBatch();