Java }
只保留一条查询语句和一条rs.next(),如下所示Java },java,selenium,arraylist,Java,Selenium,Arraylist,只保留一条查询语句和一条rs.next(),如下所示 class DbResults { private String name; private Integer count; public DbResults(String name,Integer count){ this.name = name; this.count = count; } //write the getter and setter } String query = "select
class DbResults {
private String name;
private Integer count;
public DbResults(String name,Integer count){
this.name = name;
this.count = count;
}
//write the getter and setter
}
String query = "select " + COUNT(" + "" + field + "" + ") as count"" + field + "" + " from " + "[" + database + "]" + "" + exten + "" + "[" + table+ "] group by " + "field ";
ArrayList<DbResults> records = new ArrayList<>();
ResultSet rs = statement.executeQuery(query);
while(rs.next()){
DbResults eachRecord = new DbResults (rs.getString("count"),rs.getString(field);
records.add(record);
}
//use a for loop or stream to iterate through the records.
classdbresults{
私有字符串名称;
私有整数计数;
公共数据库结果(字符串名称、整数计数){
this.name=名称;
this.count=计数;
}
//编写getter和setter
}
String query=“从“+”[“+数据库+”]“+”+扩展+“+”[“+表格+”]按“+”字段分组中选择“+计数(“+”+字段+”)作为计数“+字段+”+””;
ArrayList记录=新的ArrayList();
ResultSet rs=语句.executeQuery(查询);
while(rs.next()){
DbResults eachRecord=新的DbResults(rs.getString(“count”)、rs.getString(field);
记录。添加(记录);
}
//使用for循环或流对记录进行迭代。
检查您的sizeThanks以获取帮助,但这些并没有解决我的问题。我已跳过计数/大小标识,并按如下方式修改了代码,我仍然看到越界异常。在进行您提到的修改后,我仍然收到相同的错误消息。您是否仍然收到相同的错误?如果是,请回答请提供完整的错误代码?我已按照您的建议修改了代码,但我再次看到相同的异常。
rs.next();
for (int j = 0; j < count; j++) {
System.out.println(j + rs.getString(field) + records.size());
records.add(rs.getString(field));
System.out.println(records.get(j));
rs.next();
}
for (int j = 0; j < count; j++) {
rs.next();
System.out.println(j + rs.getString(field) + records.size());
records.add(rs.getString(field));
System.out.println(records.get(j));
}
while (rs.next()) {
records.add(rs.getString(field));
}
public static void main(String[] args) {
try {
statement = conn.createStatement();
String exten = ".dbo.";
String query = "select " + "" + field + "" + " from " + "[" + database + "]" + "" + exten + "" + "[" + table + "]";
ResultSet rs = statement.executeQuery(query);
//COUNT THE ROWS USING RESULTSET
count =getCountRows(rs);
ArrayList<String> records = new ArrayList<>();
while (rs.next()) {
records.add(rs.getString(field));
System.out.println(records.get(records.size()-1));
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static int getCountRows(ResultSet resultSet) {
int size = 0;
try {
resultSet.last();
size = resultSet.getRow();
resultSet.beforeFirst();
} catch (Exception ex) {
return -1;
}
return size;
}
class DbResults {
private String name;
private Integer count;
public DbResults(String name,Integer count){
this.name = name;
this.count = count;
}
//write the getter and setter
}
String query = "select " + COUNT(" + "" + field + "" + ") as count"" + field + "" + " from " + "[" + database + "]" + "" + exten + "" + "[" + table+ "] group by " + "field ";
ArrayList<DbResults> records = new ArrayList<>();
ResultSet rs = statement.executeQuery(query);
while(rs.next()){
DbResults eachRecord = new DbResults (rs.getString("count"),rs.getString(field);
records.add(record);
}
//use a for loop or stream to iterate through the records.