拡張; void load(Connection conPost, Connection conHsql, String where);
1 parent 12c0a0a commit a5c9dbad0a981a59b4dd3306265d3f0ce060e9d7
@hayashi hayashi authored on 25 Feb 2018
Showing 1 changed file
View
36
src/osm/jp/postgis/CoverageAll.java
super();
this.tableName = tableName;
}
/**
* useually : load(conPost, conHsql, null);
*
* @param conPost
* @param conHsql
* @throws ClassNotFoundException
* @throws SQLException
* @throws IOException
*/
public void load(Connection conPost, Connection conHsql)
throws ClassNotFoundException, SQLException, IOException
{
load(conPost, conHsql, null);
}
 
 
public void load(Connection conPost, Connection conHsql, String where)
throws ClassNotFoundException, SQLException, IOException
{
// 都道府県名(name)の設定
for (int i=0; i < Japan.areaArgs.length; i++) {
 
// 分母(denominator)、分子(molecule)、Lv を記入
// 全国の設定
if (i == 0) {
PreparedStatement ps2 = conPost.prepareStatement("SELECT COUNT(*) FROM t_"+ tableName);
// 全国の総計
String whereStr = ((where == null) ? "" : String.format("WHERE (%s)", where));
PreparedStatement ps2 = conPost.prepareStatement(String.format("SELECT COUNT(*) FROM t_%s %s", tableName, whereStr));
ResultSet rset2 = ps2.executeQuery();
if (rset2.next()) {
cover.denominator = rset2.getLong(1);
}
rset2.close();
 
ps2 = conPost.prepareStatement("SELECT COUNT(*) FROM t_"+ tableName +" WHERE fixed > 0;");
whereStr = "WHERE (fixed > 0)" + ((where == null) ? "" : String.format(" and (%s)", where));
ps2 = conPost.prepareStatement(String.format("SELECT COUNT(*) FROM t_%s %s", tableName, whereStr));
rset2 = ps2.executeQuery();
if (rset2.next()) {
cover.molecule = rset2.getLong(1);
}
rset2.close();
}
else {
PreparedStatement ps2 = conPost.prepareStatement("SELECT COUNT(*) FROM t_"+ tableName +" WHERE (area=?);");
// 都道府県毎の小計
String whereStr = "WHERE (area=?)" + ((where == null) ? "" : String.format(" and (%s)", where));
PreparedStatement ps2 = conPost.prepareStatement(String.format("SELECT COUNT(*) FROM t_%s %s", tableName, whereStr));
ps2.setInt(1, i);
ResultSet rset2 = ps2.executeQuery();
if (rset2.next()) {
cover.denominator = rset2.getLong(1);
}
rset2.close();
 
ps2 = conPost.prepareStatement("SELECT COUNT(*) FROM t_"+ tableName +" WHERE (fixed > 0) and (area=?);");
whereStr = "WHERE (fixed > 0) and (area=?)" + ((where == null) ? "" : String.format(" and (%s)", where));
ps2 = conPost.prepareStatement("SELECT COUNT(*) FROM t_"+ tableName +" WHERE (fixed > 0) and (area=?)");
ps2.setInt(1, i);
rset2 = ps2.executeQuery();
if (rset2.next()) {
cover.molecule = rset2.getLong(1);