Iva*_*van 2 java database-connection scala jdbc resultset
我想从执行查询的函数中传出结果集并关闭连接.
但是,只要其父Connection关闭并抛出,ResultSet就会失效
java.sql.SQLException: Operation not allowed after ResultSet closed
Run Code Online (Sandbox Code Playgroud)
怎么避免这个?
你想把你的想法彻底改变!
创建一个将对ResultSet执行某些操作的函数,并将其作为闭包传递给运行查询的函数.
def withQuery[T](query:String)(template: ResultSet => T) : T = {
val resultSet = runQuery(query)
val ret = template(resultSet)
resultSet.close
ret
}
val output = withQuery("select * from ...") {
resultSet =>
//some expression that generates a string from the resultset
}
println(output)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2640 次 |
| 最近记录: |