簡體   English   中英

Java和SQL:ResultSetMetaData和ResultSet

[英]Java and SQL: ResultSetMetaData and ResultSet

我真的需要幫助 我正在嘗試使用ResultSetMetaData和ResultSet從數據庫中檢索數據。 另外,我正在使用存儲過程。 該程序運行查找,但是當我運行它並期望從該行獲得3個結果時,它將給出2。 例如,如果我要求用戶輸入一個位置並且該位置有6個玩家,它將給出我5個玩家,而不是6個玩家。

這是我的代碼

            if (!rs.next()) {


                System.out.println("There is no match in the database " + position);
            }
            else {
                System.out.println(String.format("  " + " %-19s %s", "Name",
                        "Rank") + "\t" + String.format("%-11s %s", "Position",
                                "School") + "\t" + String.format("%-6s %s",
                                        "Age", "War") + "\n-----------------"
                        + "-------------------------------------------------");
                while (rs.next()) {
                    int rank = 0, age = 0;
                    String name = null, pos = null, sch = null;
                    double war = 0;
                    for (int i = 1; i < colum - 1; i++) {

                        rank = rs.getInt(1);
                        name = rs.getString(2);
                        pos = rs.getString(3);
                        sch = rs.getString(4);
                        age = rs.getInt(5);
                        war = rs.getDouble(6);
                    }

當我運行Java代碼時,我得到了這個結果。 它沒有獲得列表中的第一個索引

當我在MYSQL Workbench中調用存儲過程時,得到了這個結果

您已閱讀第一個索引

    if (!rs.next()) {

本身。 這會將光標移動到下一行。 您將必須刪除它,它將給出所有行。

暫無
暫無

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

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