我需要在列中更新DBF的值,并且需要更新该列的每个记录:
DBF classDB=new DBF("Test.dbf");
double id;
CharField cval = (CharField) classDB.getField("A");
NumField xval = (NumField) classDB.getField("B");
NumField yval = (NumField) classDB.getField("C");
classDB.read();
id = Double.parseDouble(xval.get())+Double.parseDouble(yval.get());
cval.put(Double.toString(id));
classDB.update();
System.out.println("Updated");
我正在更新列上的第一个值,如何更新整个列?我需要这样的东西
while(..next()){
id = Double.parseDouble(xval.get())+Double.parseDouble(yval.get());
cval.put(Double.toString(id));
classDB.update();
System.out.println("Updated");
}
我正在使用xBaseJ API来执行此操作。我怎么能这样做?
答案 0 :(得分:0)
你可以试试这个:
final XBaseFile dbf = new XBase().open(new File("..."));
try {
for (int i = 0; i < dbf.rowCount(); i++) {
if (dbf.go(i) && !dbf.isDeleted()) {
final Double x = dbf.getValue("B");
final Double y = dbf.getValue("C");
dbf.setValue("C", String.valueOf(x + y));
}
}
} finally {
dbf.closeQuietly();
}
我正在使用xbase4j库。