Вставка значений из текстового поля в базу данных SQLite - PullRequest
2 голосов
/ 03 декабря 2010

Я создал приложение для Android, которое требует, чтобы пользователь зарегистрировал свое имя пользователя и пароль. У меня вопрос, как я могу вставить входные значения (текстовое поле) в базу данных SQLite?

Заранее спасибо.

1 Ответ

1 голос
/ 03 декабря 2010

Сначала прочитайте документы Android на SQLite, если вы еще этого не сделали http://developer.android.com/guide/topics/data/data-storage.html#db.

Затем, при условии, что у вас все правильно настроено на стороне БД, следующим шагом будет создание SQL-кода, который будет выглядеть как-товот так ...

private static final String INSERT_SQL = "insert into " + TABLE + " (username, password) " + 
                                                      "   values    (?,        ?)";

Затем вам нужно выполнить вставку ...

public void doInsert(String username, String password) {
    final SQLiteDatabase  db = getWritableDatabase();

    SQLiteStatement insert_stmt = null;

    try {
        insert_stmt = db.compileStatement(INSERT_SQL);

        insert_stmt.bindString(1,   username);
        insert_stmt.bindString(2,   password);
        insert_stmt.executeInsert();
    }
    finally {
        if (insert_stmt != null) insert_stmt.close();
    }
}

Предполагается, что doInsert находится в классе, расширяющем SQLiteOpenHelper, чтобы он мог использоватьgetWritableDatabase, но пока у вас есть SQLiteOpenHelper, вы можете перемещать doInsert куда угодно.

Если вам нужно получить значения из EditText, то это должно помочь вам ...

final EditText input = (EditText) findViewById(R.id.textId);
final String   txt   = input.getText().toString();
...