Tag: 结果集

如何基于JDBC Result Set创建表

我正在构建一个报告工具,我需要在远程数据库上执行查询并将结果集存储在我自己的数据库中(因为我没有远程数据库的写权限,我还需要缓存结果以防止进一步执行)。 此外,我需要此function,因此我可以将两个结果集连接在一起,并根据生成的结果生成结果。 现在,我的问题是我不知道如何基于jdbc ResultSet创建表。 是否有任何开源工具或脚本可以处理这个问题? 我的应用程序基于Spring 3.1.0并使用JDBC来查询本地和远程数据库。 我想存储结果的本地数据库是MySQL 5.5.20。 (这是一个存储在MySQL中的好主意吗?它能提供足够的性能吗?)

使用sql server从jdbc中的结果集转到最后一行

我尝试从我的表中选择,只选择最后一行。 我试过这个: rset = s.executeQuery(“select noorder from orders”); rset.last(); String noorder = rset.getString(“noorder”);` rset是结果集,s是语句。 但它抛出一个exception:ResultSet只能在正向方向上访问 我试过这个: if (rset != null) { while(rset.next()){ rset.last(); } } 我做错了吗? 任何想法? 谢谢 编辑:这是答案,正如@Bhavik-Ambani所建议的那样(感谢他)。 这是我的代码: Statement s2 = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); rset = s2.executeQuery(“select noorder from orders”); rset.afterLast(); GETLASTINSERTED: while(rset.previous()){ noorder = rset.getString(“noorder”); break GETLASTINSERTED;//to read only the last row } 希望它会帮助另一个人。 […]

将结果集从SQL数组转换为字符串数组

我正在查询PostgreSQL数据库中的information_schema.columns表。 使用表名,结果集将查找所有列名,类型以及它是否可为空(主键除外,’id’)。 这是使用的查询: SELECT column_name, is_nullable,data_type FROM information_schema.columns WHERE lower(table_name) = lower(‘TABLE1’) AND column_name != ‘id’ ORDER BY ordinal_position; 我有一个字符串数组用于每个结果,我试图使用ResultSet方法getArray(String columnLabel)来避免循环结果。 我想将返回的数组存储在字符串数组中,但是会出现类型不匹配错误 Type mismatch: cannot convert from Array to String[] 有没有办法将SQL Array对象转换或类型转换为String []? 相关守则: String[] columnName, type, nullable; //Get Field Names, Type, & Nullability String query = “SELECT column_name, is_nullable,data_type FROM information_schema.columns ” + “WHERE […]

由ResultSet支持的Java Iterator

我有一个实现Iterator的类,ResultSet作为数据成员。 基本上这个类看起来像这样: public class A implements Iterator{ private ResultSet entities; … public Object next(){ entities.next(); return new Entity(entities.getString…etc….) } public boolean hasNext(){ //what to do? } … } 如何检查ResultSet是否有另一行,以便我可以创建一个有效的hasNext方法,因为ResultSet没有自己定义hasNext? 我正在考虑做SELECT COUNT(*) FROM…查询以获取计数并管理该数字以查看是否有另一行但我想避免这种情况。

java.sql.SQLException:ResultSet关闭MySQL Java后不允许操作

每当我尝试使用这种方法时,我都会继续这样做。 java.sql.SQLException: Operation not allowed after ResultSet closed at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926) at com.mysql.jdbc.ResultSetImpl.checkClosed(ResultSetImpl.java:794) at com.mysql.jdbc.ResultSetImpl.next(ResultSetImpl.java:7077) at server.util.Plimus$1.run(Plimus.java:77) 这是在第77行: while (resultSet.next()) { public static void process(final Player c, final String playerName) { if (connection == null && connectionStatus == 0) createConnection(); else if (connectionStatus != 0) return; new Thread() { @Override public void […]

如何将表从一个数据库复制到另一个数据库?

我需要从一个数据库中取一个表并将其上传到另一个数据库。 所以,我创建了两个单独的连接。 这是我的代码 Connection connection1 = // set up connection to dbms1 Statement statement = connection1.createStatement(); ResultSet result = statement.executeQuery(“select * from …………. “); Connection connection2 = // set up connection to dbms2 // Now I want to upload the ResultSet result into the second database Statement statement2 = connection2.createStatement(“insert into table2 ” + result); […]

复制Java ResultSet

我有一个需要更新的java.sql.ResultSet对象。 但是,结果集不可更新。 不幸的是,这是我正在使用的特定框架的约束。 我在这里想要实现的是从数据库中获取数据,然后操纵少量数据,最后将数据写入CSV文件。 在这个阶段,我认为我最好的选择是创建一个新的结果集对象,并将原始结果集的内容复制到新的结果集中,并按照我的方式操作数据。 但是,我在谷歌上追求高低,似乎无法确定如何做到这一点,或者它是否甚至可能。 我是Java的新手,所以任何帮助都会感激不尽。

如何检查结果集是否有一行或更多行?

如何使用JDBC检查结果集是否有一行或更多行?

Java JDBC Lazy-Loaded ResultSet

有没有办法获得从运行JDBC查询获得的ResultSet来延迟加载? 我希望每行都按照我的要求加载,而不是事先加载。

rs.last()为仅向前结果集提供无效操作:last

我试图通过以下方式获得结果集的行数: rs.last(); int row_count = rs.getRow(); 但是我只获得了Invalid operation for forward only resultset : last的Invalid operation for forward only resultset : last错误。 结果集从Oracle 10g数据库获取其数据。 这是我如何设置我的连接: Class.forName(“oracle.jdbc.driver.OracleDriver”); String connectionString = “jdbc:oracle:thin:@” + oracle_ip_address + “:” + oracle_db_port + “:” + oracle_db_sid; Connection conn = DriverManager.getConnection(connectionString, oracle_db_username, oracle_db_password);