2

我创建了一个 android 应用程序,用户可以在其中添加、更新和删除数据库中的内容

在我的 DataSource java 文件中,我有以下代码:

public void addWebsite(String sitename, String username, String password) {
        ContentValues values = new ContentValues();
        values.put(MySQLiteHelper.COLUMN_URL, sitename);
        values.put(MySQLiteHelper.COLUMN_USERNAME, username);
        values.put(MySQLiteHelper.COLUMN_PASSWORD, password);
        database.insert(MySQLiteHelper.TABLE_URL, null,values);
    }

上面的代码使插入语句。

public void updateWebsite(WebsiteRecords website){
        ContentValues values = new ContentValues();
        values.put(MySQLiteHelper.COLUMN_URL, website.getSitename());
        values.put(MySQLiteHelper.COLUMN_USERNAME, website.getUsername());
        values.put(MySQLiteHelper.COLUMN_PASSWORD, website.getPassword());
        database.update(MySQLiteHelper.TABLE_URL, values, MySQLiteHelper.COLUMN_ID  + " = " + website.getId(), null);
    }

上面的代码显示了一条更新语句

public void deleteWebsite(WebsiteRecords website) {
        database.delete(MySQLiteHelper.TABLE_URL, MySQLiteHelper.COLUMN_ID  + " = " + website.getId(), null);
    }

最后,上面的代码用于删除语句。

我的问题是,我从我的登录中获得了这个用户名,并且我想从中添加、更新和删除具有我从登录屏幕获得的用户名的东西。我正在考虑制作

Cursor mCursor = database.rawQuery("INSERT INTO " + TABLE_URL + " VALUES('" + sitename + "', '" + username + "', '" + password + "') " WHERE loginname=?", new String [] {loginname});

或类似的东西,但我害怕它不起作用。更新和删除也是如此。它只会添加、更新、删除、查看登录名为“iamcoolin3d”的文件。

任何人都可以帮助我吗?

4

2 回答 2

0

该行:

Cursor mCursor = database.rawQuery("INSERT INTO " + TABLE_URL + " VALUES('" + sitename + "', '" + username + "', '" + password + "') " WHERE loginname=?", new String [] {loginname});

应该:

Cursor mCursor = database.rawQuery("INSERT INTO " + TABLE_URL + " VALUES('" + sitename + "', '" + username + "', '" + password + "')  WHERE loginname=?", new String [] {loginname});

"之前有一个额外的WHERE

于 2013-01-18T08:58:48.797 回答
0

你的最后一行有问题,必须把WHERE放在String里面,否则不行。

于 2013-01-18T08:59:25.063 回答