簡體   English   中英

列結果不是預期的

[英]Column result doesn't as be expected

在這里,我有查詢連接兩個表,並使用此查詢將其合並為一個結果

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

這是兩個表的表結構

表“tb_barang”
https://i.stack.imgur.com/6OpeC.png

和表“tb_jenis”
https://i.stack.imgur.com/UhLty.png

我期待這樣的輸出
https://i.stack.imgur.com/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)

感謝任何幫助我的人:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM