2015-05-20 3 views
1

Я хочу добавить данные в таблицу, называемую allquestions, но должен проверить, является ли она нулевой или содержит какие-либо данные. Когда я добавляю данные, она добавляется каждый раз при запуске приложения. Я хочу очищать предыдущие данные каждый раз Я запускаю приложение.Как проверить, нет ли таблицы в orroid или нет?

db.execSQL("CREATE TABLE IF NOT EXISTS allquestions (num_id INTEGER PRIMARY KEY NOT NULL, questions TEXT NOT NULL,catogery TEXT NOT NULL)"); 

Как проверить, содержит ли таблица какие-либо данные? Я хочу добавить данные, если они не содержат никаких данных.

+0

Вы можете выполнить простой SELECT, а затем используйте 'getCount()' от вас 'Cursor'. Однако, если вам всегда нужно удалять данные при запуске, это не значит, если таблица пуста или нет: просто удалите все содержимое. – GVillani82

ответ

2
DBHelper dbHelper = new DBHelper(context); 
SQLiteDatabase db = dbHelper.getWritableDatabase();   
String query = "SELECT * FROM allquestions"; 
Cursor cursor = db.rawQuery(query, null); 
int count = cursor.getCount(); 
cursor.close(); 
return count 

надеюсь, что это помогает

0

Если вам нужно что-то делать с курсором, который получает возвращенного запрос к базе данных, это то, что вы можете сделать:

Cursor cursor = db.rawQuery("SELECT * FROM allquestions", null); 
if(cursor.moveToFirst()){ 
\\Do something with the first row. 
} else { 
    \\There is nothing in the table. 
} 
+0

Да, это немного проще, чем «запрашивать счетчик записей, который вам не нужен». И если OP должен «создать таблицу, если она не существует, а затем удалить все, что в ней», то, как говорили другие, вам нужно только запустить два запроса назад: CREATE, затем DELETE , «Если вам не нужно заботиться (если оно не пустое), вам не нужно беспокоиться об этом». –

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