Мне интересно, возможно ли выполнить запрос к существующей базе данных и определить, присутствует ли при вставке то же значение в базе данных.
Это метод вставки в класс extends SQLiteOpenHelper
public void insertTimeTable_Schedule(String title, String subtitle, String color_text, String color_text_bg,
String mon, String tue, String wed, String thus, String fri, String sat, String sun,
String start_time, String end_time){
sqLiteDatabase = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(COLUMN_TITLE,title);
values.put(COLUMN_SUBTITLE,subtitle);
values.put(COLUMN_COLOR_TEXT,color_text);
values.put(COLUMN_COLOR_TEXT_BG,color_text_bg);
values.put(COLUMN_MON,mon);
values.put(COLUMN_TUE,tue);
values.put(COLUMN_WED,wed);
values.put(COLUMN_THUS,thus);
values.put(COLUMN_FRI,fri);
values.put(COLUMN_SAT,sat);
values.put(COLUMN_SUN,sun);
values.put(COLUMN_START_TIME,start_time);
values.put(COLUMN_END_TIME,end_time);
sqLiteDatabase.insert(TABLE_TIMETABLE, null, values);
}
Теперь я хотел бы обнаружить и сделать сообщение об ошибке, если при вставке данных новой таблицы start_time
в COLUMN_START_TIME
.
Я пытался отобразить значения из базы данных, используя метод будет указано ниже, и это покажет все, что я вставил
public String getData_database(){
sqLiteDatabase = this.getReadableDatabase();
String[] columns = new String[]{KEY_ID, COLUMN_TITLE,COLUMN_SUBTITLE,COLUMN_COLOR_TEXT,COLUMN_COLOR_TEXT_BG,
COLUMN_MON,COLUMN_TUE, COLUMN_WED,COLUMN_THUS, COLUMN_FRI,COLUMN_SAT,COLUMN_SUN,
COLUMN_START_TIME,COLUMN_END_TIME};
@SuppressLint("Recycle")
Cursor cursor =
sqLiteDatabase.query(TABLE_TIMETABLE,columns,null,null,null,null,null);
int iId = cursor.getColumnIndex(KEY_ID);
int iTitle = cursor.getColumnIndex(COLUMN_TITLE);
int iTextcolor = cursor.getColumnIndex(COLUMN_COLOR_TEXT);
int iTextBgcolor = cursor.getColumnIndex(COLUMN_COLOR_TEXT_BG);
int iSubtitle = cursor.getColumnIndex(COLUMN_SUBTITLE);
int iStarttime = cursor.getColumnIndex(COLUMN_START_TIME);
int iEndtime = cursor.getColumnIndex(COLUMN_END_TIME);
StringBuilder result = new StringBuilder();
for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()){
result.append("Id: ").append(cursor.getString(iId)).append("\n").append("Title: ").append(cursor.getString(iTitle)).append("\n").append("SubTitle: ").append(cursor.getString(iSubtitle)).append("\n").append("Text Color: ").append(cursor.getString(iTextcolor)).append("\n").append("Text BG Color: ").append(cursor.getString(iTextBgcolor)).append("\n").append("Start Time: ").append(cursor.getString(iStarttime)).append("\n").append("End Time: ").append(cursor.getString(iEndtime)).append("\n\n");
}
sqLiteDatabase.close();
return result.toString();
}
Если у вас есть какие-либо советы, я хотел бы услышать.