【发布时间】:2011-09-11 04:47:59
【问题描述】:
我正在尝试删除我知道该行存在的表中的一行。我试过了:
final String s = "DELETE from %s where Name = '%s'";
String sql = String.format(s, GetTableName(), sListName);
Cursor cr= GetUserDb().GetSQLiteDb().rawQuery(sql, null);
我试过了:
String sWhere = String.format("Name = '%s'", sListName);
long lRowsUpdated = GetUserDb().GetSQLiteDb().delete(GetTableName(), sWhere, null);
** sWhere >> Name = 'groceries' **
** sql >> DELETE from Lists where Name = 'groceries' **
没有崩溃或 logcat 异常,但该行仍未删除。有什么我想念的吗?也许我在其他地方锁定了它,或者我需要在我的 Manifest 中设置某些权限或其他什么?
【问题讨论】:
-
另外,我的主键是 sListName,它是 TEXT,不确定是否重要...
-
嗯...你确定 String.format() 吗?它返回正确的语句吗?试试 String sql = String.format(s, new Object[]{GetTableName(), sListName});
-
@mihail - 谢谢。我尝试了您的建议,其中 sql = DELETE from Lists where Name = 'groceries' 并且仍然没有删除该行,并且没有抛出错误。我认为这个问题完全是另外一回事......
-
尝试执行 GetUserDb().GetSQLiteDb().execSQL(sql);但它是无效函数
标签: android sqlite delete-row