使用java在sql中添加多行

zee*_*sar 5 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);
Run Code Online (Sandbox Code Playgroud)

现在,我想在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()); 
}
Run Code Online (Sandbox Code Playgroud)

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

请帮助我.

use*_*685 2

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

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

这是 JAVA 文档addBatch()

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

你应该做这样的事情:

String input = null;
while ((input = s.readLine()) != null) {
    stmt.addBatch(input); 
}
Run Code Online (Sandbox Code Playgroud)

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

int[] result = stmt.executeBatch();
Run Code Online (Sandbox Code Playgroud)