第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Android應(yīng)用程序正確讀取字符串列但不是第三個INTEGER(sqlite)

Android應(yīng)用程序正確讀取字符串列但不是第三個INTEGER(sqlite)

翻過高山走不出你 2022-11-02 17:03:21
我有一個奇怪的問題,我一生都無法解決。sqlite 數(shù)據(jù)庫很簡單。兩行分別是 String 和 INTEGER。該表只有一條記錄:  public PubList readDatabase(String currentPostcode) {        databaseReader dbReader;        dbReader = new databaseReader(this);        try {            dbReader.updateDataBase();        } catch (IOException mIOException) {            throw new Error("Unable to update database");        }        try {            pubDatabase = dbReader.getReadableDatabase();        } catch (SQLException mSQLException) {            throw new Error("SQLException");        }        String query = "SELECT Town,PostcodeArea,NumberOfPubs FROM PubLists WHERE PostcodeArea = '" + currentPostcode.substring(0, 4) + "'";        final Cursor cursor = pubDatabase.rawQuery(query, null);        if (cursor.moveToNext()) {            currentTown.setListName(cursor.getString(cursor.getColumnIndex("Town")));            currentTown.setPostcode(cursor.getString(cursor.getColumnIndex("PostcodeArea")));            currentTown.setNumberOfPubs(cursor.getInt(cursor.getColumnIndex("NumberOfPubs")));        }        cursor.close();        return currentTown;    }通過一些調(diào)試,我可以確認兩個 String 列都被正確拉出,但是 int 列應(yīng)該是 23,總是返回 3,我不知道 3 來自哪里。會喜歡一些指針。編輯:按照要求,這里是將發(fā)布列表上傳到數(shù)據(jù)庫的代碼。此代碼從桌面上的 javaFX 應(yīng)用程序運行。public void uploadPubList(PubList pubList){        String sql = "INSERT OR REPLACE INTO main.PubLists(Town,PostCodeArea,NumberOfPubs) VALUES(?,?,?)";        try {            Connection conn = this.connect();            for (Pub pub : pubList.getPubs()) {                PreparedStatement pstmt = conn.prepareStatement(sql);                pstmt.setString(1, pubList.getName());                pstmt.setString(2, pubList.getPostCodeArea());                pstmt.setInt(3, pubList.getPubs().size());                pstmt.executeUpdate();                insertPub(pubList, pub);            }        } catch (SQLException e) {            System.out.println(e.getMessage());        }    }
查看完整描述

1 回答

?
12345678_0001

TA貢獻1802條經(jīng)驗 獲得超5個贊

你uploadPubList()為什么要迭代pubList.getPubs()?

您只想插入 1 行:城鎮(zhèn)名稱、郵政編碼區(qū)域和酒吧數(shù)量,對吧?

另外,這一行:


insertPub(pubList, pub);

它有什么作用?

刪除for循環(huán)并保留這些:


public void uploadPubList(PubList pubList){

    String sql = "INSERT OR REPLACE INTO main.PubLists(Town,PostCodeArea,NumberOfPubs) VALUES(?,?,?)";

    try {

        Connection conn = this.connect();

        PreparedStatement pstmt = conn.prepareStatement(sql);

        pstmt.setString(1, pubList.getName());

        pstmt.setString(2, pubList.getPostCodeArea());

        pstmt.setInt(3, pubList.getPubs().size());

        pstmt.executeUpdate();

    } catch (SQLException e) {

        System.out.println(e.getMessage());

    }

}

從設(shè)備上卸載應(yīng)用程序,以便刪除并重新運行數(shù)據(jù)庫。


查看完整回答
反對 回復(fù) 2022-11-02
  • 1 回答
  • 0 關(guān)注
  • 105 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號