将电子邮件从第一个表保存到第二个表

时间:2016-10-14 06:35:41

标签: java sqlite android-sqlite

我正在创建一个应用程序。我需要已保存在第一个表中的现有用户的电子邮件,并将其保存到第二个表中。我需要哪些查询或功能来实现这一目标?有什么建议吗?

1 个答案:

答案 0 :(得分:1)

首先,您需要通过传递有效的行ID来获取用户的电子邮件:

public Cursor getRecord(long id) throws SQLException {
    Cursor cursor = this.database.query(true, databaseTable, new String[] {columnId, columnName, columnEmail}, columnId + "=" + id, null, null, null, null, null);

    if (cursor != null) {
        cursor.moveToFirst();
    }
    return cursor;
}

请注意,您可能有不同的列,因此请使用指定的列更改String[]数组。现在,我们可以创建另一个函数来将该电子邮件保存在另一个表中,如下所示:

public long insertExistingUser(String name, String email) {
    ContentValues contentValues = new ContentValues();

    contentValues.put(columnName, name);
    contentValues.put(columnEmail, email);

    return this.database.insert(otherDatabaseTable, null, contentValues);
}

这会将其他用户的信息插入另一个表中。为了使其适用于您的应用程序:

DatabaseAdapter db = new DatabaseAdapter(this);

db.open();

Cursor cursor = db.getRecord(current_user_id);

if (db.insertExistingUser(cursor.getString(1), cursor.getString(2)) > 0)
    Toast.makeText(this, "Old user's info was inserted!", Toast.LENGTH_SHORT).show();

db.close();

cursor.getString(1)需要一个数字来指示它是什么列。通常,0是用于获取用户电子邮件的ID列。