我写的方法是删除行....但是,我不知道为什么,我不能删除行.... 这是我的方法......
public void clearDatabase() {
openDataBase();
try {
int id=0;
Cursor c = myDB.rawQuery("Select id from " + tablename +" asc", null);
if (c.getCount() > 22) {
c.moveToFirst();
id = c.getInt(0);
for(int i = 0;i<11;i++){
int x = id+i;
myDB.execSQL("delete from "+tablename +" where id = "+x , null);
}
}
else
c.close();
closedb();
} catch (SQLiteException ex) {
ex.printStackTrace();
}
}
这是logcat: 12-13 12:10:57.073:ERROR / AndroidRuntime(327):java.lang.RuntimeException:无法启动活动ComponentInfo {com.parser / com.parser.parse}:java.lang.IllegalArgumentException:Empty bindArgs
请帮助我!...先谢谢
答案 0 :(得分:1)
我用
public void deleteEntry(long lRow) {
ourDatabase.delete(DATABASE_TABLE, KEY_ROWID + "=" + lRow, null);
}
在我的SQLite数据库中删除一行,其中lRow从我的视图活动传递。
修改
这是我在视图活动中的删除按钮
String dRow = etSQLvRec.getText().toString();
long lRow = Long.parseLong(dRow);
DBase db1 = new DBase(this);
try {
db1.open();
db1.deleteEntry(lRow);
db1.close();
} catch (Exception e) {
String error = e.toString();
Dialog d = new Dialog(this);
d.setTitle("Cannot Delete");
TextView tv = new TextView(this);
tv.setText(error);
d.setContentView(tv);
d.show();
}
etSQLvRec是一个显示我正在查看的记录的_id的TextView,我传递它以删除我正在查看的记录。