我试着写colum的房间名,然后我想读那个房间的名字。因此我有两种方法。第一个用于创建房间,第二个用于获取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吗?
发布于 2015-11-11 09:55:31
RoomID = db.rawQuery("SELECT " + COL_RID + " FROM " + TABLE_ROOM + " WHERE "+ COL_RNAME + " = ?",new String[]{room}).toString();可以使用Like %?%而不是= ?。
检查是否区分大小写。
https://stackoverflow.com/questions/33647924
复制相似问题