我目前正在做一个项目,我在表格中收集了大量有关进程和 CPU 使用情况、电池使用情况等的信息。
例如,“日志表”包含列“进程”、“Pid”、“电池”,另一个表“CPU 表”包含例如“进程”、“CPU 时间”、“CPU 使用率”。该程序同时写入所有这些表,因此每个读数在所有表中都有自己的行。
我创建了一个程序,它获取所有这些信息并为所有进程创建一个单独的 CSV 文件。在这些文件中,我希望获得所有四个表中有关该特定进程的所有信息。
我遇到的问题是,由于某种原因,当我尝试将信息带入时,其中一个表复制了另一个表中每条记录的记录。
如您所见,“日志表”中的信息正确写入,但“CPU 表”中的信息(最右边的 7 列)为“日志”的每个条目重复第一条记录,然后对其次,对于每条 Log 记录。
Procs[i] 包含所有唯一的进程名称。
目前,我使用的sql语句是,周围的基本代码是:
String query = "SELECT * FROM log, cpuinfo WHERE log.Process = " + "'" + procs[i] + "'" + " AND cpuinfo.Process = " + "'" + procs[i] + "'";
System.out.println(query);
rs = sment.executeQuery(query);
writer = new CSVWriter(new FileWriter(procs[i] + ".csv"), ',');
//writer = new CSVWriter(procs[i] + ".csv");
//System.out.println("Writing.....");
//rs.beforeFirst();
writer.writeAll(rs, true);
//writer.
writer.flush();
谁能看到程序为什么这样做并以这种方式编写 CSV?任何帮助将不胜感激,被困在这个程序上数周无济于事,谷歌没有帮助!
谢谢。
如果您需要任何信息或代码查看,请询问!