Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将sql语句的结果集存储在两个不同的变量中并使用?_Java_Sql_Resultset - Fatal编程技术网

Java 如何将sql语句的结果集存储在两个不同的变量中并使用?

Java 如何将sql语句的结果集存储在两个不同的变量中并使用?,java,sql,resultset,Java,Sql,Resultset,我想存储结果集分别存储两个不同的位置并分别使用。这可能吗 public void demo(){ /* Result set got from the corpusSentenceRetrive method */ ResultSet rsNew=corpusSentenceRetrive(wordAll); ArrayList<String> resultSetStore= new ArrayList<String>(); for(in

我想存储结果集分别存储两个不同的位置并分别使用。这可能吗

public void demo(){
    /* Result set got from the corpusSentenceRetrive method */
    ResultSet rsNew=corpusSentenceRetrive(wordAll);
    ArrayList<String> resultSetStore= new ArrayList<String>();

    for(int i=0;i<2;i++){
    resultSetStore.add(i,rsNew);
    }

    method1(resultSetStore.get(0));
    method2(resultSetStore(1));
}

public void method1(ResultSet rst){
    ResultSet rs = rst;
    while (rs.next()) {....}
}

public void method2(ResultSet rst){
    ResultSet rs = rst;
    while (rs.next()) {....}
}
public void demo(){
/*结果集从微粒子检索方法获得*/
结果集合rsNew=微粒子数量检索(wordAll);
ArrayList resultSetStore=新建ArrayList();

对于(int i=0;i一个ResultSet包含您正在读取的位置的内部游标。因此,当调用第一个方法并完成时,游标位于可用结果的末尾。因此,当调用第二个方法时,没有要检查的结果。在任何一个方法中使用结果之前,您都可以调用
ResultSet.beforeFirst()
确保光标在使用前位于正确的位置。

由于没有标准方法使用db值复制
ResultSet
,因此您必须将数据存储在其他位置。大多数ResultSet实现不会将所有结果存储在其中,而只是保持与用于获取数据的数据库的连接因此,请使用两个不同的resultset或将resultset的所有数据存储到任何其他数据结构中,如列表/地图等,以便按照您的要求执行上述任务


所以你不能两次使用同一个结果集。

MySQL
标签与你的问题有什么关系?看看这个@Anarki实际上我不想存储结果集值。我想在两个位置添加整个结果集内容。因为我想分别执行两个方法。@Maduri你是说你想在两个方法中传递相同的结果集?@是的。但我不知道怎么做。你是天才。你解决了我的大问题和宝贵的时间。一次又一次。祝你愉快:)。