1

我希望在我的应用程序的 BETA 版本中添加一个新功能。我想我需要帮助我处理删除特定行的方法。

除了从两个数据库表中删除特定行或 ID 值之外,我已经能够对我的应用程序中的数据库执行所有我想要的操作。

我正在调用 deleteClient() 并将光标传递到我的 DBAdapter 中。此表的 rowID 采用长值。

数据库适配器:

public boolean deleteClient(long rowId)
    {
        return db.delete(DATABASE_TABLE, KEY_ROWID + "=" + rowId, null) > 0;
    }

DatabaseHandler 为其他存储工作创建第二个数据库,但应该删除相同的:

public boolean delete(long rowId)
    {
        return db.delete(TABLE_LABELS, KEY_ID + "=" + rowId, null) > 0;
    }

在我的课堂上,我尝试了一些这样的变化: //db = the databaseadapter

db.open();
long loadID = contactList.getSelectedItemId(); 
//contact list is a spinner that is auto populated with each new entry added to it. 
Cursor cursor = db.getClient(loadID);
db.deleteClient(cursor);
db.close();

和这个

dh.getWritableDatabase();
long currentlySelected = contactList.getSelectedItemId();
dh.delete(currentlySelected);
dh.close();

一个删除但不是正确的选择 - 另一个导致立即崩溃。DDMS 给出了提示,但我不知道还会发生什么。

总体上对这种结构有什么想法,或者对这种方法有更好的技术吗?

微调器加载如下:

private void loadSpinnerData() {
        // database handler
        DatabaseHandler dbh = new DatabaseHandler(getApplicationContext());


        // Spinner Drop down elements
        List<String> lables = dbh.getAllLabels();

        // Creating adapter for spinner
        ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_spinner_item, lables);

        // Drop down layout style - list view with radio button
        dataAdapter
                .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        // attaching data adapter to spinner
        contactList.setAdapter(dataAdapter);

    }
4

0 回答 0