#android
#Android
Вопрос:
перед вставкой данных в БД проверьте, существуют ли все значения или нет .. если они существуют, значит, нет необходимости вставлять … если не существует, значит, вставьте значения в БД…..
sql_db = helper.getWritableDatabase();
Cursor cursor = sql_db.rawQuery(query, null);
cursor = sql_db.rawQuery(query, new String[] { res_namestr[i] , res_eventidstr[i] , get_res_starttime[i], get_res_endtime[i], get_res_location[i] });
int noOfRecords= cursor.getCount();
Log.d("No-of-Records :","" noOfRecords);
if (noOfRecords> 0)
{
// Toast.makeText(context, "Table Already Exit", Toast.LENGTH_LONG).show();
}
else
{
// record not exist
ContentValues values = new ContentValues();
values.put(DBHelper.E_NAME, res_namestr[i]);
values.put(DBHelper.E_EVENT_ID, res_eventidstr[j]);
values.put(DBHelper.E_STARTTIME, get_res_starttime[int_date]);
values.put(DBHelper.E_ENDTIME, get_res_endtime[int_time]);
values.put(DBHelper.E_LOCATION, get_res_location[int_loc]);
sql_db.insert(DBHelper.TABLE, null, values);
}
}
Комментарии:
1. Итак, в чем проблема?
2. не получил требования .. можете ли вы уточнить больше? вы хотите проверить, какие значения?
3. перед вставкой я хочу проверить, что значения уже доступны в таблице, если их там нет, значит, нужно вставить ….это мои значения —-cursor = sql_db.rawQuery(запрос, новая строка [] { res_namestr[i], res_eventidstr[i] , get_res_starttime[i], get_res_endtime [i], get_res_location[i] });
4. Итак, в чем проблема?
5. не вставляя новые значения
Ответ №1:
вы можете использовать метод insertWithOnConflict(). Если запись не существует, она вставит запись и вернет ее идентификатор, а если существует, то вернет идентификатор существующей записи.