posts - 18,  comments - 0,  trackbacks - 0

修改了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)  编辑  收藏 所属分类: 工作日志

只有注册用户登录后才能发表评论。


网站导航: