有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java DBFField编号类型

我有形成dbf文件的代码,但有两个字段是数字类型,其中一个有45,05的值,另一个有45,但我不能将两个不同的值写入dbf文件,我得到的是45和45,而不是45,05和45

switch (metaData.getColumnType(i + 1)) {
  case 91:
    arrfiled[recNum].setName(temp);
    arrfiled[recNum].setDataType(DBFField.FIELD_TYPE_D);
    break;
  case 93:
    arrfiled[recNum].setName(temp);
    arrfiled[recNum].setDataType(DBFField.FIELD_TYPE_D);
    break;
  case 2:
    arrfiled[recNum].setName(temp);
    arrfiled[recNum].setDataType(DBFField.FIELD_TYPE_N);
    arrfiled[recNum].setFieldLength(
        metaData.getPrecision(i + 1) == 0 ? 10 : metaData.getPrecision(i + 1));
    break;
  case 3:
    arrfiled[recNum].setName(temp);
    arrfiled[recNum].setDataType(DBFField.FIELD_TYPE_N);
    arrfiled[recNum].setFieldLength(
        metaData.getPrecision(i + 1) == 0 ? 10 : metaData.getPrecision(i + 1));
    break;
  case 8:
    arrfiled[recNum].setName(temp);
    arrfiled[recNum].setDataType(DBFField.FIELD_TYPE_N);
    arrfiled[recNum].setFieldLength(
        metaData.getPrecision(i + 1) == 0 ? 10 : metaData.getPrecision(i + 1));
    break;
  default:
    arrfiled[recNum].setName(temp);
    arrfiled[recNum].setDataType(DBFField.FIELD_TYPE_C);
    arrfiled[recNum].setFieldLength(metaData.getPrecision(i + 1) > 253
                                        ? 253
                                        : metaData.getPrecision(i + 1));
    break;
}
recNum++;
}

共 (0) 个答案