我尝试写colum roomname,之后我想阅读roomid。因此我有两种方法。第一个用于创建房间,第二个用于获取roomId。 (之后我想在另一个表中写下这个ID)
public boolean insertRoomNr(String room){
SQLiteDatabase db = this.getWritableDatabase();
Cursor dbCursor;
ContentValues contentValues = new ContentValues();
contentValues.put("roomname", room);
db.insert(TABLE_ROOM, null, contentValues);
Log.d("Room Name", room);
return true;
}
public boolean insertRoomId(String room){
SQLiteDatabase db = this.getWritableDatabase();
String RoomID;
RoomID = db.rawQuery("SELECT " + COL_RID + " FROM " + TABLE_ROOM + " WHERE "+ COL_RNAME + " = ?",new String[]{room}).toString();
Log.d("RoomID", RoomID);
return true;
}
我通过点击Fragments
。
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");
}
});
问题是我在第一个日志中得到了Room Name
。但我的RoomID
日志输出是11-11 11:05:33.938 27273-27273/com.sbeyer.daainv D/RaumId: android.database.sqlite.SQLiteCursor@f81c8ef
我不能以纯文本形式获取ID?
答案 0 :(得分:0)
RoomID = db.rawQuery("SELECT " + COL_RID + " FROM " + TABLE_ROOM + " WHERE "+ COL_RNAME + " = ?",new String[]{room}).toString();
可以使用Like %?%
代替= ?
。
检查区分大小写。