我有这个代码:
// Get the results
while(rs.next())
{
resultList = new JSONObject();
for(int i = 1; i <= rsmd.getColumnCount(); i++)
{
resultList.put(rsmd.getColumnName(i) , rs.getString(i));
}
}
rsmd.getColumnCount() 似乎没有计算相应值为 null 的列。有什么解决办法吗?
根据一天中的时间,相同的 SQL 返回值和/或空值,我希望每次都获得相同数量的列。
干杯, 蒂姆
<小时/>这当然是 JAVA - 我使用了“Null”标签,因为 getColumnCount 标签被拒绝,因为我在这个网站上缺乏“声誉点”。
我认为 getColumnCount 没有计算空条目,因为我的数据库中有 2 个条目,一个有一些空条目,另一个没有空条目。
getColumnCount 仅返回具有实际值的条目的计数。
最佳答案
问题已解决:问题不是 getColumnCount()
,而是
resultList.put(rsmd.getColumnName(i) , rs.getString(i));
当 rs.getString(i)
返回 null
时,Put 方法没有添加任何内容。
导致我出错的是这些值的打印确实显示了 null
。
关于java - 当列的值为空时,getColumnCount 不计算该列吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6984191/