Я использовал запрос вставки в таблице, когда таблица пуста, она отлично выполняет и вставляет данные, когда я использую один и тот же запрос вставки с одинаковыми значениями, затем он появляется с помощью ошибкаВставить строку в таблицу в Titanium
и я получаю сообщение об ошибке
var insert_query= Alloy.Globals.database_file.execute('INSERT INTO get_appointments (appointment_number,end_date_time,location,start_date_time) VALUES (?,?,?,?)', app_number, app_end_time,app_loc, app_start_time);
[ERROR] : Script Error {
[ERROR] : backtrace = "#0() at :0";
[ERROR] : line = 127;
[ERROR] : message = "Error occurred calling next on a PLSqliteResultSet. SQLite error: 'column appointment_number is not unique' for 'INSERT INTO get_appointments (appointment_number,end_date_time,location,start_date_time) VALUES (?,?,?,?)'";
[ERROR] : sourceId = 299620896;
[ERROR] : sourceURL = "file:///Users/obaid_infrability/Library/Application%20Support/iPhone%20Simulator/7.1/Applications/F58D6E16-22D1-4C45-A800-7DE57DA00DDA/Qima%20App.app/app.js";
[ERROR] : }
причиной этой ошибки является appointment_number установлен на уникальный, но я не понимаю, почему это всплывает ошибка, что нужно просто пропустить, если значение уже существует.
Что мне нужно сделать, чтобы пропустить ошибку?
Ваше решение кажется интересным, но можете ли вы рассказать мне больше о том, как «поймать эту ошибку в своем коде и проигнорировать ее». как это сделать? – obaid
Я использовал try { var insert_query = Alloy.Globals.database_file.execute ('INSERT INTO get_appointments (destination_number, end_date_time, location, start_date_time) VALUES (?,?,?,?)', App_number, app_end_time, app_loc, app_start_time); } catch (e) { var message = e.message; console.log ('error =' + message); } – obaid
@obaid try-catch - хороший вариант, и я думаю, что вы сделали это правильно, но небольшой комментарий ** остерегайтесь 'console.log' использовать' Ti.API.info' вместо **. – turtle