我知道使用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
。
请帮帮我。
答案 0 :(得分:2)
你做错了!使用当前代码,当您调用readLine()
两次但仅在第一次输出时,您最终会丢失备用行。
此外,如果您想在数据库中插入多行,那么您应该查看Batch
。
以下是addBatch()
的JAVA文档:
将给定的SQL命令添加到此Statement对象的当前命令列表中。通过调用executeBatch方法,可以批量执行此列表中的命令。
你应该这样做:
String input = null;
while ((input = s.readLine()) != null) {
stmt.addBatch(input);
}
以下是执行批处理的方法:
int[] result = stmt.executeBatch();