java - 列结果不符合预期

标签 java mysql resultset

这里我有一个查询来连接两个表并使用此查询将其合并为一个结果

String query = "SELECT * FROM tb_barang RIGHT JOIN tb_jenis ON tb_barang.kd_jenis = tb_jenis.kd_jenis ";

这是我的两个表的表结构

表“tb_barang”
/image/6OpeC.png

和表“tb_jenis”
/image/UhLty.png

我期待这样的输出
/image/zhtHx.png

但是,当我获取列“jenis”时,java 会抛出异常,因为超出范围或未找到列。

然后我使用以下命令检查该列是否存在:

ResultSet resTabel = new mysqlDriver().getKolomBarangList();
            ResultSetMetaData metaData = resTabel.getMetaData();
            int colCount = metaData.getColumnCount();
            if (resTabel.next()) {
        for (int i = 1; i <= colCount; i++) {
        System.out.println("Col(" + i + ") '" + metaData.getColumnName(i) + "' value:" + resTabel.getString(i));
    }

输出:

Col(1) 'kd_barang' value:BAR0000
Col(2) 'nama_barang' value:A
Col(3) 'kd_jenis' value:J_1
Col(4) 'jumlah_barang' value:1
Col(5) 'harga_satuan' value:1
BUILD SUCCESSFUL (total time: 35 seconds)

如何实现这一目标?感谢您的回复

最佳答案

显然,多亏了@forpas,我错过了输入方法名称。 getKolomBarangList() 引用表tb_barang 的字段名称,并且不执行“JOIN”子句

protected ResultSet getBarangList()throws SQLException, NullPointerException, ClassNotFoundException{
        String query = "SELECT * FROM tb_barang RIGHT JOIN tb_jenis ON tb_barang.kd_jenis = tb_jenis.kd_jenis ";
        if(resForListBarang == null){
            resForListBarang = alwaysDoResultSet(query);
        }
        return resForListBarang;
    }

    protected ResultSet getKolomBarangList() throws SQLException, Exception{
        String query = "SELECT * FROM tb_barang";
        if(getBarangKolom == null){
            getBarangKolom = alwaysDoResultSet(query);
        }
        return getBarangKolom;
    }

getBarangList() 的输出预计为最终结果

Col(1) 'kd_barang' value:BAR0000
Col(2) 'nama_barang' value:A
Col(3) 'kd_jenis' value:J_1
Col(4) 'jumlah_barang' value:1
Col(5) 'harga_satuan' value:1
Col(6) 'kd_jenis' value:J_1
Col(7) 'jenis' value:Pakan Hewan
BUILD SUCCESSFUL (total time: 21 seconds)

感谢所有帮助我的人:)

关于java - 列结果不符合预期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56200285/

相关文章:

mysql - 无法在mysql上创建外键

php - 是否有快速 SQL 查询来删除重复行

java - ResultSet 当数据为空时如何从对象中获取字符串?

java - 使用 json 反序列化 java 泛型集合

java - 嵌入模式时,Tomcat SqlException 中的 H2 被另一个进程锁定

java - 如何在 Spring Boot 测试中强制提交事务?

php - 使用 php 以所需的形式显示数据

oracle - 从 Oracle 中的动态 SQL 在结果集中获取结果

sql-server - SSIS - 如何使用结果集作为 SQL 任务的输入并获得正确的数据类型?

java - 将arraylist发送到fragment以动态填充数据