我有一个使用 blazeds 连接到 Java 后端的 Flex 应用程序。使用远程处理,我调用 API 以在 Oracle 数据库中的表(使用常规 JDBC 类)上运行 SELECT 语句。
该表有 2 列:
PRODUCT_CODE of type NVARCHAR2(32) and
DEMAND of type NUMBER(10, 0)
我的 Java API 如下:
public List<?> getQueryResult(String query) {
Connection conn = DriverManager.getConnection(connStr, userName, password);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(query);
ArrayList<?> result = new ArrayList<?>();
while(rs.next()) {
Object[] itemArray = new Object[2];
itemArray[0] = rs.getObject(1);
itemArray[1] = rs.getObject(2);
result.add(itemArray);
}
return result;
}
在我的 Flex 方面,我有一个用于此远程操作的结果事件的处理程序:
private function onResult(e:ResultEvent) : void {
var result:ArrayCollection = (e.result as ArrayCollection);
}
奇怪的是,DEMAND列对应的值自动转换为字符串(我调试发现在后端,这些是BigDecimal)
有什么建议么?