Tag: resultset

在Java中处理ResultSet的有效方法

我在Java中使用ResultSet,并不知道如何正确closures它。 我正在考虑使用ResultSet构造一个HashMap,然后closuresResultSet。 这个HashMap技术是否有效,还是有更有效的方法来处理这种情况? 我需要键和值,所以使用HashMap似乎是一个合理的select。 如果使用HashMap是最有效的方法,那么如何在我的代码中构造和使用HashMap? 以下是我所尝试的: public HashMap resultSetToHashMap(ResultSet rs) throws SQLException { ResultSetMetaData md = rs.getMetaData(); int columns = md.getColumnCount(); HashMap row = new HashMap(); while (rs.next()) { for (int i = 1; i <= columns; i++) { row.put(md.getColumnName(i), rs.getObject(i)); } } return row; }

ResultSet.getString(1)throws java.sql.SQLException:在当前光标位置的无效操作

当我运行下面的servlet时: // package projectcodes; public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException { String UserID = request.getParameter("UserID"); String UserPassword = request.getParameter("UserPassword"); String userName = null; String Email = null; Encrypter encrypter = new Encrypter(); String hashedPassword = null; try { hashedPassword = encrypter.hashPassword(UserPassword); Context context = new InitialContext(); DataSource ds = (DataSource)context.lookup("java:comp/env/jdbc/photog"); Connection connection = ds.getConnection(); […]

使用JDBC从存储过程中获取Oracle表types

我想了解使用JDBC从Oracle存储过程/函数获取表数据的不同方法。 六种方式是以下几种: 过程返回模式级别的表types作为OUT参数 过程返回一个包级表types作为OUT参数 过程返回一个包级光标types作为OUT参数 函数返回一个模式级别的表types 函数返回一个包级表types 函数返回一个包级光标types 这里是PL / SQL中的一些例子: — schema-level table type CREATE TYPE t_type AS OBJECT (val VARCHAR(4)); CREATE TYPE t_table AS TABLE OF t_type; CREATE OR REPLACE PACKAGE t_package AS — package level table type TYPE t_table IS TABLE OF some_table%rowtype; — package level cursor type TYPE t_cursor IS REF […]

获取java.sql.SQLException:ResultSetclosures后不允许操作

当我执行下面的代码时,我得到一个exception。 我认为这是因为我正在准备与他相同的连接对象的新声明。 我应该如何重写这个,以便我可以创build一个准备好的声明,并得到使用rs2? 即使连接到同一个数据库,我是否也必须创build一个新的连接对象? try { //Get some stuff String name = ""; String sql = "SELECT `name` FROM `user` WHERE `id` = " + userId + " LIMIT 1;"; ResultSet rs = statement.executeQuery(sql); if(rs.next()) { name = rs.getString("name"); } String sql2 = "SELECT `id` FROM `profiles` WHERE `id` =" + profId + ";"; ResultSet […]