0

我正在编写删除行的方法....但是,我不知道为什么,我无法删除行....这是我的方法...

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: Unable to start activity ComponentInfo{com.parser/com.parser.parse}: java.lang.IllegalArgumentException : 空的 bindArgs

请帮助我!...谢谢之前1

4

1 回答 1

1

我用

public void deleteEntry(long lRow) {

    ourDatabase.delete(DATABASE_TABLE, KEY_ROWID + "=" + lRow, null);
}

在我的 SQLite DB 中删除一行,其中 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 是一个 TextView,它显示我正在查看的记录的 _id,我传递它以便删除我正在查看的记录。

于 2011-12-13T05:31:21.750 回答