我有一个JTable,我的DerbyDB正在使用Vector进行更新。唯一的问题是它不起作用,现在令人困惑的部分是它是一个小组项目,它正在为我的小组成员工作。我们正在使用Git进行协作,所以我不确定它在哪里打破。我有一个新的拉力,似乎没有什么不同步,所以说这还有什么呢?我当时认为我们的数据库不相似(存储在我们的本地客户端上),但这些似乎是对的,列名称是否重要?或者只有多少列?还有什么我可以做的吗?
传感器DB
这是我的sensorDbClass,它查询我的数据库
public static List<Sensor> updateSensors(double timemark)
{
List<Sensor> sensors = new ArrayList<Sensor>();
try
{
stmt = conn.createStatement();
ResultSet results = stmt.executeQuery("SELECT * FROM " +tableName +" WHERE time=" +timemark);
// System.out.println("\n----------------------------------------------------------");
int time,id,temp,hum,light,voltage;
while(results.next())
{
time = results.getInt(1);
id = results.getInt(2);
temp = results.getInt(3);
hum = results.getInt(4);
light = results.getInt(5);
voltage = results.getInt(6);
Sensor sens = new Sensor(id, temp, hum, light, voltage);
sensors.add(sens);
//System.out.println(sens);
}
results.close();
stmt.close();
}
catch (Exception e)
{
e.printStackTrace();
}
return sensors;
}
使用向量更新我的Jtabel
public void updateTable() {
DefaultTableModel tableModel = new DefaultTableModel();
Vector<Vector<Object>> data = new Vector<Vector<Object>>();
sensors = SensorDBConnection.updateSensors(currentTime);
System.out.println("Sensors for time = " + currentTime);
for (Sensor s : sensors) {
//System.out.println(s);
Vector<Object> row = new Vector<Object>();
row.add(s.getId());
row.add(s.getTemp());
row.add(s.getHumidity());
row.add(s.getVoltage());
data.add(row);
System.out.println("===============" +row);
}
Vector<String> headers = new Vector<String>();
headers.add("ID");
headers.add("TEMP");
headers.add("HUMIDITY");
headers.add("VOLTAGE");
tableModel.setDataVector(data, headers);
sensorTable.setModel(tableModel);
this.currentTime += .5;
}
其他人可以想到为什么这会弄乱吗?