我有一个奇怪的问题,从SQLite数据库中删除行。我第一次尝试删除一行时,它似乎工作正常。但是,此后的任何时候,我都不会收到错误,它只是不会删除选定的行。如果我卸载应用程序并从eclipse重新运行它(我的平板电脑已连接到我的电脑进行测试),那么第一次删除将再次运行。android sqlite删除行不工作
这里是我使用从我的数据库
Cursor cursor = _garmentAdapter.fetchAllLooks();
cursor.moveToLast();
final ArrayList<Bitmap> al = new ArrayList<Bitmap>();
_labels=new ArrayList<String>();
int totalGarments=0;
for(int i=cursor.getCount()-1; i>=0; i--) {
totalGarments++;
Bitmap bd=BitmapFactory.decodeFile(cursor.getString(3));
String label=cursor.getString(1);
al.add(bd);
_labels.add(label);
cursor.moveToPrevious();
}
Toast.makeText(BrowseLooks.this, "ITEMS=="+totalGarments, Toast.LENGTH_SHORT).show();
这吐司消息在屏幕上显示的项目数填充图库视图代码。例如,如果我创建3个项目,然后删除1,它将在屏幕上显示2,并且吐司表示ITEMS == 2。但是,如果我删除另一个,屏幕上仍然有2个项目,ITEMS == 2。所以看起来游标工作正常,但数据库不是。
下面是删除行中的数据库的代码:
return mDb.delete(LOOKS_TABLE, KEY_ROWID+"="+rowId, null)>0;
我也登录ROWID为正确的,当MDB被调用。
再次,我没有得到任何错误,代码只是不工作。任何帮助将非常感激。
今天下午我会试试这个。你能解释为什么这个代码可能在我使用的代码不存在的地方工作吗? – Nightmare6m
我刚刚尝试了上面的建议,并没有任何影响。你有什么其他的建议? – Nightmare6m
String table =“beaconTable”; String whereClause =“_id”+“=?”; String [] whereArgs = new String [] {String.valueOf(row)}; db.delete(table,whereClause,whereArgs); –