Android插入声明

时间:2013-01-18 08:52:55

标签: java android eclipse sqlite insert

我创建了一个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);
    }

上面的代码生成了insert语句。

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”的文件。

任何人都可以帮我这个吗?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

你的最后一行有问题,你必须把WHERE放在String中,否则它将无效。