Android 从SQLite数据表读取ID
我试着写ColumRoomName,然后我想读室友的名字。因此我有两种方法。第一个用于创建房间,第二个用于获取roomId。(之后,我想在另一个表中写入此ID) 我通过单击我的Android 从SQLite数据表读取ID,android,sqlite,Android,Sqlite,我试着写ColumRoomName,然后我想读室友的名字。因此我有两种方法。第一个用于创建房间,第二个用于获取roomId。(之后,我想在另一个表中写入此ID) 我通过单击我的片段之一中的按钮来调用这些方法 buttonsave.setOnClickListener(new View.OnClickListener() { Context ctx = getActivity(); @Override public void onClick
片段之一中的按钮来调用这些方法
buttonsave.setOnClickListener(new View.OnClickListener() {
Context ctx = getActivity();
@Override
public void onClick(View view) {
mydb.insertRoomNr(roomnr.getText().toString());
mydb.insertRoomId(roomnr.getText().toString());
Log.d("ListViewFragment", "RAUMNUMMER HINZUGEFÜGT");
}
});
问题是,我在第一个日志中得到了房间名。但是我的RoomID
日志输出是11-11:05:33.938 27273-27273/com.sbeyer.daainv D/RaumId:android.database.sqlite。SQLiteCursor@f81c8ef
我不能用纯文本获取ID吗
RoomID = db.rawQuery("SELECT " + COL_RID + " FROM " + TABLE_ROOM + " WHERE "+ COL_RNAME + " = ?",new String[]{room}).toString();
可以使用如%?%
而不是=?
同时检查是否区分大小写。在<代码>之前有一个额外的WhitePac e,来自
-。-它也适用于<代码>=?
。但是我的日志输出现在是11-11:05:33.938 27273-27273/com.sbeyer.daainv D/RaumId:android.database.sqlite。SQLiteCursor@f81c8ef
我不能用纯文本获取ID吗?或者我可以更容易地将其添加到另一个表中(作为外键),返回的是SqliteCursor
对象。使用RowID.getLong(0)
获取实际值
RoomID = db.rawQuery("SELECT " + COL_RID + " FROM " + TABLE_ROOM + " WHERE "+ COL_RNAME + " = ?",new String[]{room}).toString();