SQLite не работает insert

SQLite, Preferences, файлы, SD, Content Provider, XML, JSON
Ответить
skrudjmakdak
Сообщения: 8
Зарегистрирован: 20 авг 2012, 11:52

SQLite не работает insert

Сообщение skrudjmakdak » 18 янв 2014, 12:30

Создаю свой класс от SQLiteOpenHelper. и в onCreate прописываю:

Код: Выделить всё

db.execSQL("create table books ("
			+ "id integer primary key, " 
			+ "title text, "
			+ "description text, "
			+ "published text, "
			+ "subtitle text, "
			+ "author text, "
			+ "free integer"
			+ ");");
после создания создаю этот класс и делаю коннект:

Код: Выделить всё

obj = new DbLibray(context);
db = obj.getWritableDatabase();
делаю записи:

Код: Выделить всё

values = new ContentValues();
values.put("id", book.id);
values.put("title", book.title);
values.put("author", book.authorTitle);
values.put("free", book.free);
int t = (int) db.insert("books", null, values);
Log.d("w", "insert" + Integer.toString(t));
в лог падает id шник, он не автоинкремент, а задается вручную...

далее пытаюсь вывести и выдает пустой список, почему?

Код: Выделить всё

String sql = "select id, title, author, free from books order by id asc;";
Cursor cursor = db.rawQuery(sql, null);
cursor.moveToFirst();
while (!cursor.isAfterLast())
	{
	title = cursor.getString(1);
	Log.d("w", title);
	cursor.moveToNext();
	}

skrudjmakdak
Сообщения: 8
Зарегистрирован: 20 авг 2012, 11:52

Re: SQLite не работает insert

Сообщение skrudjmakdak » 18 янв 2014, 17:29

разобрался сам. надо каждую транзакцию округлять в:
db = obj.getWritableDatabase();
//транзакция
db.close();

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: SQLite не работает insert

Сообщение Foenix » 18 янв 2014, 17:54

просто для сведения.
1. у тебя нет явных транзакций
2. закрывать лучше 1 раз.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Ответить