如何从结果集中获取值并将其插入另一个表

时间:2015-01-29 06:47:22

标签: java sql

我想获取rs.getInt(1)值并将其插入到param表中。

public void () {
            result rs;
            int id = 0;

            final String queryStr = "select MAX(id) from IDEAA";
            try {
               connect.connect();
                rs  = connection.executeQuery(queryStr);
                while (rs.next()) {
                    id = rs.getInt(1); // I need to get the value , Here i get the correct value
                }

                final String querySt = "insert into param(id,param_id,value) values " 
                        +  "(" + id + "," + TEST +  ",'"  + "TEST" + "'" + ")" // But when it comes  here it the becomes zero.
               }

有人可以建议我吗?

1 个答案:

答案 0 :(得分:0)

如果您可以在代码中提供更多信息(rs变量的类型以及在何处获取有关类型的更多信息(如果是第三方库))

为什么你会有一个while循环,因为max id总是返回一个最高值。

如果可能还值得看看你是否可以将rs设置为开头。 (rs.first())

然后尝试检索该值。

public void () {
        result rs;
        int id = 0;

        final String queryStr = "select MAX(id) from IDEAA";
        try {
           connect.connect();
            rs  = connection.executeQuery(queryStr);
            rs.first();

            id = rs.getInt(1);

            final String querySt = "insert into param(id,param_id,value) values " 
                    +  "(" + id + "," + TEST +  ",'"  + "TEST" + "'" + ")" // But when it comes  here it the becomes zero.
           }

http://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html#getInt(int)

getInt int getInt(int columnIndex)            抛出SQLException 以Java编程语言中int的形式检索此ResultSet对象的当前行中指定列的值。 参数: columnIndex - 第一列是1,第二列是2,... 返回: 列值;如果值为SQL NULL,则返回的值为0 抛出: SQLException - 如果columnIndex无效;如果发生数据库访问错误或在关闭的结果集上调用此方法