我编写了以下代码来从sqlite数据库中检索一些记录,但我想要做的是计算包含特定(lat,lng)的表中的所有rosw
sqliteFactory.getXMLPath("53.074415", "8.788047");
码:
public void getNodeID(String lat, String lng) throws ClassNotFoundException, SQLException {
Connection conn = getConnection();
PreparedStatement ps = conn.prepareStatement("select "+this.NODE_ID_COL+" from "+this.TABLE_NAME+" where "+this.LAT_COL+" = ? And "+this.LNG_COL+" = ?");
ps.setString(1, lat);
ps.setString(2, lng);
ResultSet resSet = ps.executeQuery();
while (resSet.next()) {
Log.v(TAG, "getNodeID", "NodeID(lat="+lat+", lng="+lng+"): "+resSet.getString(this.NODE_ID_COL));
}
resSet.close();
ps.close();
conn.close();
}
答案 0 :(得分:1)
而不是从数据库中检索所有这些值,然后用Java计算它们(这可能涉及传输大量数据并且可能非常慢/效率低),而是要求数据库为您计算它们。
考虑这样的事情:
select count(*) from locations where latitude=53.074415 and longitude=8.788047;