jdbc查不出来数据oracle,Android JDBC Oracle查询返回正确的行数,但没有数据

我试图通过SQLite的android手机与局域网上的oracle服务器之间的JDBC连接来执行数据同步。我可以通过手机连接到服务器,并进行查询。我可以用oracle数据库中正确的行数返回结果集,但列中的所有数据都有一个空值。我检查了数据库,并且每列都有数据。查看结果集的元数据,我可以看到我也为每列获得了所有正确的标题。

我在手机上使用10.2.0.3 oracle jdbc驱动程序 - 我无法使用.4或.5工作 - 使用4.0.3 Android操作系统。它连接到11g oracle服务器。

以下是我在代码中查询和插入SQLite的部分:

Statement statement = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);

ResultSet rs = statement.executeQuery("SELECT * from foo");

if(rs != null) {

Dao dao = getDao(foo.class);

DeleteBuilder deleteBuilder = dao.deleteBuilder();

deleteBuilder.where().isNotNull("DESCRIPTION");

dao.delete(deleteBuilder.prepare());

while(rs.next()) {

dao.create(createFoo(rs));

}

}而createFoo方法就是这样的:

protected Foo createFoo(ResultSet rs) throws SQLException {

Foo foo = new Foo();

foo.setNumber1(BigInteger.valueOf(rs.getInt("Number1")));

foo.setNumber2(BigInteger.valueOf(rs.getInt("Number2")));

foo.setDescription(rs.getString("Description"));

foo.setString2(rs.getString("Sting2"));

return foo;

}所有的rs.getStrings返回null,并且rs.getInts返回0(我相信这是空值的默认返回值)

我也尝试使用execute而不是executeQuery来获得相同的问题。

Statement statement.execute("SELECT * FROM foo");

ResultSet rs = statement.getResultSet();我也尝试过所有大小写,以确保大小写敏感性在查询和rs.get ...方法中都不是问题。我也试过ojdbc5和ojdbc6罐子,但是这些都不能在android上工作 - 我无法连接。

我似乎无法找到遇到类似问题的任何人,所以我有点难住,因为我绝对不是数据库专家。我见过其他代码示例,其中人们似乎没有任何问题做我正在尝试做的事情。我不确定这是一个简单的修复,我只是没有看到,或者我无法从android手机上做的事情。第一次张贴海报,希望我已经正确表达了我的问题,并提供了所需的所有信息。

提前致谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值