java - 插入记录后如何获取最后一个ID?

标签 java android sqlite insert

给定以下代码:

 sqLiteDatabase.execSQL("create table if not exists ACCOUNT (ID integer primary key autoincrement," +
                        "CASH LONG NOT NULL," +
                        "BANKID INTEGER NOT NULL," +
                        "ACCOUNTNO TEXT ," +
                        "DATE TEXT NOT NULL," +
                        "COMMENT TEXT);");

在 SQLite 中创建了一个表。

添加记录后如何获取lastID?

使用以下代码:

 contentValues.put("CASH", accountTO.getCash());
 contentValues.put("DATA", DatePro.currentDate());
 contentValues.put("BANKID", accountTO.getBankID());
 contentValues.put("ACCOUNTNO", accountTO.getAccountNo());
 contentValues.put("COMMENT", accountTO.getComment());

 Long i = sqLiteDatabase.insert("ACCOUNT", null, contentValues);

我得到 -1

最佳答案

public long insert (String table, String nullColumnHack, ContentValues values)

返回 新插入行的 rowID,如果发生错误,则返回 -1

关于java - 插入记录后如何获取最后一个ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17102708/

相关文章:

java - 如何修复 'mp4 video not running in Exoplayer 2.9'

android - 关闭我的应用内的振动

android - 如何在 BroadcastReceiver.onReceive 中设置 RecyclerView.ViewHolder 的颜色?

java - 如何检测 Java MIDI 中的特定 MIDI Controller ?

java - Android Studio 在 i7 处理器上使用 100% CPU 进行项目重建

java - 将数组列表项连接到线程以及其他方式的最佳方法

android - 钛安卓 : borderColor behaving like backgroundColor

mysql - 添加列和对具有 NULL 值的列求和之间的 SQL 差异

sqlite - 在序列化模式下使用 SQLite 时是否需要使用连接池?

SQLite 更新第一个字母为大写