【发布时间】:2014-08-04 18:16:49
【问题描述】:
私有静态布尔insertIntoNewTable() {
Connection dbConnection = getDBConnection();
System.out.println("CONNECTED TO DB");
PreparedStatement preparedStatement = null;
String countString;
String fileName;
String seed;
ResultSet rs = null;
BufferedReader br = new BufferedReader(new FileReader("/home/aoblah/Documents/Metaphor-July/Russian/MotherRussia"));
String line;
while(null != (line = br.readLine())){
splitsVille = line.split(":");
fileName = splitsVille[0].trim();
seed = splitsVille[1].trim();
countString = "SELECT COUNT(*) FROM metaphor_repository.source_domain_russian_OY2_v3 where filename = ? AND seed = ?" ;
preparedStatement = dbConnection.prepareStatement(countString);
preparedStatement.setString(1, fileName);
preparedStatement.setString(2, seed);
rs = preparedStatement.executeQuery();
if (rs.next()) {
int numberOfRows = rs.getInt(1);
System.out.println("numberOfRows= " + numberOfRows);
} else {
System.out.println("error: could not get the record counts");
}
}
rs.close();
preparedStatement.close();
dbConnection.close();
return true;
}
我需要此代码生成的行数,但我得到的都是零。当我在 MySQL 工作台中执行相同的查询时,我得到了正确的答案。请帮我找出问题。
我知道问题出在哪里。 where 子句中的第二列包含俄语字符,它们显示为“?????”当我打印出来的时候。当我单独打印它们时,它们可以在控制台中很好地打印出来。
【问题讨论】: