修改了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 阅读(734)
评论(0) 编辑 收藏 所属分类:
工作日志