Изменение этого вспомогательного класса SQLite для вставки записей в базу данных - PullRequest
0 голосов
/ 15 февраля 2012

Я пишу приложение, которое использует базу данных, и я использую вспомогательный класс, который кто-то предложил мне здесь в stackoverflow.

Это вспомогательный класс (также необходим JAR-файл): https://github.com/jgilfelt/android-sqlite-asset-helper

Я расшифрую это здесь:

public class MyDatabase extends SQLiteAssetHelper {

private static final String DATABASE_NAME = "DB";
private static final int DATABASE_VERSION = 1;

public MyDatabase(Context context) {
    super(context, DATABASE_NAME, null, DATABASE_VERSION);  
}

public Cursor getItems() {

    SQLiteDatabase db = getReadableDatabase();
    SQLiteQueryBuilder qb = new SQLiteQueryBuilder();

    String [] sqlSelect = {"0 _id", "ItemName", "ItemCategory"}; 
    String sqlTables = "ShopItems";
    String selection = "ItemCategory='1'";    
    qb.setTables(sqlTables);
    Cursor c = qb.query(db, sqlSelect, selection, null,
            null, null, null);  

    c.moveToFirst();
    return c;

}

}

Это работает как шарм. Тем не менее, мне нужно добавить метод, чтобы вставить новые записи в таблицу, и я не понимаю, как это сделать. Может кто-нибудь мне помочь или указать ссылку / учебник? Спасибо

РЕДАКТИРОВАТЬ: я не знаю, если это актуально, но я использую предварительно заполненную базу данных в папке активов.

1 Ответ

2 голосов
/ 24 апреля 2012

попробуйте использовать ContentValues для вставки данных в БД

openDB();
ContentValues cv = new ContentValues();
cv.put("column1", valuel);
cv.put("column2", value2);//and so on...
db.insert(TABLE_NAME, null, cv);
closeDB();

надеюсь, это поможет ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...