Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.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 将rs移动到方法会导致异常_Java_Sql - Fatal编程技术网

Java 将rs移动到方法会导致异常

Java 将rs移动到方法会导致异常,java,sql,Java,Sql,我有一些重复的以下代码 rs = prepStmt.executeQuery(); rs.next(); 我想把它移到一个方法,这样我就可以重用代码了。方法如下: public static void point(ResultSet rs, PreparedStatement prepStmt){ rs = prepStmt.executeQuery(); result = rs.next(); } 然后我想得到一个列值,比如stringgender=rs.g

我有一些重复的以下代码

rs = prepStmt.executeQuery();
rs.next();
我想把它移到一个方法,这样我就可以重用代码了。方法如下:

public static void point(ResultSet rs, PreparedStatement prepStmt){
        rs = prepStmt.executeQuery();
        result = rs.next();
}
然后我想得到一个列值,比如stringgender=rs.getString(“gender”); 我得到以下例外情况: java.sql.SQLException:列名无效。当我没有显示错误时,错误不会显示 将逻辑封装在方法中。因此,列名是正确的


有什么想法吗?谢谢

您似乎假设对
rs
参数的更改将传播到调用代码。不会的。Java中的所有内容都是通过值传递的,包括引用。相反,您可能应该执行以下操作:

public static ResultSet point(PreparedStatement prepStmt) {
    ResultSet rs = prepStmt.executeQuery();
    result = rs.next();
    return rs;
}
然后,您可以将其称为:

ResultSet rs = point(prepStmt);

(不清楚
result
是什么,或者仅仅为了避免直接调用
rs.next()
而声明一个完整的额外方法是否真的值得…特别是当它意味着
rs.next()
的结果有些模糊时…

你能分享你的完整代码吗?这段代码中没有任何内容表明存在这样的问题?谢谢!我会接受你的建议。