java - Java中如何处理ResultSet并将其转换为int的Array?

标签 java

我真的很困惑为什么这组代码只返回一个值。我在这里想做的是查询所有以主键作为参数的 *sense_num* (不是主键)。结果应该包含 2 个或更多 sense_num,因此在每个 sense_num 结果中,我尝试将每个元素存储在 int[] 数组中并分别返回 int 数组。例如,此查询的结果是 sense_num 172 和 173。它们都应该已经在数组中,但是当我测试调用函数时,它收到的是最后一个值 173。

我希望你能帮我解决这个问题。谢谢!

公共(public) int[] getAllSenseID(int primeID) {

    int[] objects = {};
    String qry = "SELECT sense_num FROM cebuano_sense WHERE id_num = '" + primeID + "'";
    try {
        DatabaseConn db = new DatabaseConn("cebuano_wsd");
        db.connect();
        db.query(qry);
        ResultSet result = db.getResult();
        ResultSetMetaData data = db.getData();


        if (result.next() == true) {

            java.sql.ResultSetMetaData rsmd = result.getMetaData();
            int colNo = rsmd.getColumnCount();
            result.beforeFirst();
            int row = 0;
            System.out.println(colNo + "::> Column Number");

            while (result.next()) {
                objects = new int[colNo + 1];

                int i = 0;

//object[0] 在我测试它时具有所有值,这就是为什么它只接受最后一个//...如何获取或接收这两个值?

                while (i < colNo) {
                    objects[i] = result.getInt(colNo);

                    //print to test
                    System.out.println(objects.length + " >> Count  of Objects");
                    System.out.println(i + " :: " + objects[i] + " >> result");
                    i++;
                }

            }
        }
    } catch (SQLException ex) {
        ex.printStackTrace();
    } catch (ClassNotFoundException ex) {
        ex.printStackTrace();
    }

    return objects;
}

最佳答案

你的线路

objects = new int[colNo + 1];

替换您之前的所有行,因此您只有最后一行。

你可以有一个 List<int[]>您为每一行添加的内容。

关于java - Java中如何处理ResultSet并将其转换为int的Array?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4972270/

相关文章:

java - PriorityQueue 返回自定义比较器的错误排序?

Java - 从另一个类调用方法[错误]

java - 鼠标点击画圆的问题

java - 如何更改选定单元格的背景?

java - 使用 Sax 解析大型 XML 文件

java - 后藤真的像人们说的那么糟糕吗?

java - 排序后,如何在 Netbeans swing 大纲(树表)中保持搜索结果一致?

java - JPA + SwingWorker : Query Error

java - 我希望它在应用程序中打开 url,而不是 webview

java - 'OpenKM' 服务安装失败