如何计算行包含特定值

时间:2015-08-10 17:20:58

标签: java sqlite jdbc

我编写了以下代码来从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();
}

1 个答案:

答案 0 :(得分:1)

而不是从数据库中检索所有这些值,然后用Java计算它们(这可能涉及传输大量数据并且可能非常慢/效率低),而是要求数据库为您计算它们。

考虑这样的事情:

select count(*) from locations where latitude=53.074415 and longitude=8.788047;