2015-01-02 4 views
0

Как обновить запись в SQLite с Android?Как обновить запись в SQLite с Android?

Hello.

Я пишу, потому что я, к сожалению, застрял в своем проекте, и надеюсь, вы сможете мне помочь. Как обновить запись в базе данных?

Например, в базе данных контактов. В этой базе данных контактов используются следующие ключи: имя, телефон, адрес электронной почты и адрес; моя проблема в том, когда мне нужно изменить запись, что я должен сделать, чтобы изменить запись.

Надеюсь, вы можете мне помочь. Заранее спасибо.

Это SQLite код для обновления реестра:

// Updating single contact 
public int updateContact(Contact contact) { 

    SQLiteDatabase db = this.getWritableDatabase(); 

    ContentValues values = new ContentValues(); 
    values.put(KEY_NAME, contact.getName()); 
    values.put(KEY_PH_NO, contact.getPhoneNumber()); 

    // updating row 
    return db.update(TABLE_CONTACTS, values, KEY_ID + " = ?", new String[] { String.valueOf(contact.getID()) }); 
} 

Этот же код, который я нашел на многих сайтах, но моя проблема заключается в том, чтобы вызвать код из MainActivity с Java.

+0

Взгляните на этот учебник, я дважды проверил и что вы ищете: http://www.androidhive.info/2011/11/android-sqlite-database-tutorial/ –

+0

'SQLiteOpenHelper' предназначен для использования в качестве одноэлементного. После реализации его в качестве одноэлементного, вы можете получить доступ к любым его методам. – corsair992

ответ

0

1- создать экземпляр из базы данных в ур основной деятельности:

DBhelper db = new DBhelper(this); 

2- вызов открыт:

db.open(); 

3- набор способа обновления:

db.updateContact(name,phone); 

4- закрыть подключение к базе данных:

db.close(); 

5- открытия и закрытия функции в Уре хелперов базы данных класса:

public DBhelper open() throws SQLException { 
    mDb = mDbHelper.getWritableDatabase(); 
    return this; 
} 

public void close() { 
    mDbHelper.close(); 
} 

6- и ты должен определить их как глобальные переменные:

private DatabaseHelper mDbHelper; 
private SQLiteDatabase mDb; 

мой вам совет, чтобы не зависеть от написанный код, вы должны научиться писать его самостоятельно, создание и использование базы данных действительно важно, поэтому для вас это хороший учебник, вы можете извлечь из этого выгоду: http://www.tutorialspoint.com/android/android_sqlite_database.htm. Удача

+1

В 'SQLiteOpenHelper' нет' open() 'метода. – corsair992

+0

Я отредактировал его, чтобы включить открытые и закрытые методы, проверьте его: –

+0

Почему вы определяете отдельный метод 'open()', когда нет необходимости? 'SQLiteOpenHelper' был разработан так, чтобы не требовать открытия' SQLiteDatabase' в централизованной точке. Кроме того, почему в объекте есть локальная переменная 'mDbHelper'? – corsair992

Смежные вопросы