金蝶EAS·BOS框架,原则上只允许在后台使用SQL语句进行操作,通常情况下,绝大多数的操作都可以通过EntityViewInfo以及标准功能接口实现。
框架提供的数据库操作工具类:com.kingdee.eas.util.app.DbUtil
以下代码示例演示如何在后台使用SQL进行查询:
/**
* 获取财务组织编码、名称缓存
* 返回值键值对:键为组织编码,值为组织名称
*/
@SuppressWarnings("unchecked")
private Map getOrgNoNameCache(Context ctx) throws BOSException {
Map map = new HashMap();
String sql = "select FNumber, FName_L2 from T_ORG_Company";
IRowSet rs = DbUtil.executeQuery(ctx, sql);
try {
while(rs.next()){
String number = rs.getString("FNumber"); //组织编码
String name = rs.getString("FName_L2"); //组织名称
map.put(number, name);
}
} catch (SQLException e) {
throw new BOSException(e);
}
return map;
}
/**
* 获取科目编码、名称缓存
* 返回值键值对:键为科目编码,值为科目名称
*/
@SuppressWarnings("unchecked")
private Map getAccNoNameCache(Context ctx) throws BOSException {
Map map = new HashMap();
String sql = "select distinct FNumber, FName_L2 from T_BD_AccountView";
IRowSet rs = DbUtil.executeQuery(ctx, sql);
try {
while(rs.next()){
String number = rs.getString("FNumber"); //科目编码
String name = rs.getString("FName_L2"); //科目名称
map.put(number, name);
}
} catch (SQLException e) {
throw new BOSException(e);
}
return map;
}