gpt4 book ai didi

java - 如何使用 Android 和 SQLite 将表的最新 row_id 插入到不同的表中

转载 作者:行者123 更新时间:2023-11-29 04:02:31 25 4
gpt4 key购买 nike

我理解这个标题听起来很困惑,但目标很明确:

我正在构建一个需要两个表的应用程序:航迹和航路点。

用户通过文本字段输入轨道名称,表格在 track_id 下生成一个 ID。

在航点表中有一列叫做 track_id_fk。当调用 OnLocationChanged() 方法时,经度和纬度连同时间一起输入到表中。

我想将轨道表中最新的轨道条目的track_id添加到航点表中的track_id_fk列。

我正在使用以下代码:

SQLiteDatabase db = waypoints.getWritableDatabase();
ContentValues waypointvalues = new ContentValues();
waypointvalues.put(LONGITUDE, loc.getLongitude());
waypointvalues.put(LATITUDE, loc.getLatitude());
waypointvalues.put(TIME, System.currentTimeMillis());
waypointvalues.put(TRACK_ID_FK, "last inserted trackid");
db.insertOrThrow(TABLE_NAME, null, waypointvalues);

我不确定“最后插入的 trackid”的值应该是多少。

谢谢

最佳答案

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

    SQLiteDatabase db1 = tracks.getWritableDatabase();
ContentValues tracksvalues = new ContentValues();
tracksvalues.put(COL1, '1');
tracksvalues.put(COL2, '2');
Long insertid=db1.insertOrThrow(TABLE_NAME1, null, tracksvalues);

if (insertid!=-1) {

SQLiteDatabase db2 = waypoints.getWritableDatabase();
ContentValues waypointvalues = new ContentValues();
waypointvalues.put(LONGITUDE, loc.getLongitude());
waypointvalues.put(LATITUDE, loc.getLatitude());
waypointvalues.put(TIME, System.currentTimeMillis());
waypointvalues.put(TRACK_ID_FK, insertid);
db2.insertOrThrow(TABLE_NAME2, null, waypointvalues);

}

关于java - 如何使用 Android 和 SQLite 将表的最新 row_id 插入到不同的表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2510170/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com