修改了Translator的updateDbTables方法,增加了對表名或字段不存在的判斷。代碼如下:
for (int i = 0; i < ts.length; i++) {
DbTable dbt = ts[i];
//根據DbTable的中文表名獲取業務上傳入的英文表名
String enTableName = t.getTableEnName(dbt.getChName());
if (enTableName == null || enTableName.equals("")){
model.addException(new NoSuchTableException(dbt.getChName()));
}else{
dbt.setEnName(t.getTableEnName(dbt.getChName()));
}
//獲取DbTable中的當前表名所有字段屬性(查詢語句中的字段屬性)
for (Iterator it = dbt.getFields().iterator(); it.hasNext();) {
DbField dbf = (DbField)it.next();
dbf.setTableEnName(dbt.getEnName());
//獲取業務上傳入的英文字段名稱
String enFieldName = t.getFieldEnName(dbt.getChName(), dbf.getChName());
//如果業務上的英文字段不存在則提示錯誤信息,如果存在則將英文字段賦值給DbTable對象的DbField屬性
if (enFieldName == null || enFieldName.equals("")){
model.addException(new NoSuchFieldException(dbt.getChName(), dbf.getChName()));
}else{
dbf.setEnName(t.getFieldEnName(dbt.getChName(), dbf.getChName()));
}
}
}
posted on 2007-04-03 14:03
LORD BLOG 閱讀(740)
評論(0) 編輯 收藏 所屬分類:
工作日志