когда я выбираю строку из табличного представления для обновления.данные не обновляются в базе данных, зачем мне нужен код для обновления и удаления tableview

#iphone #ios-simulator

#iPhone #ios-симулятор

Вопрос:

Я новичок в разработке для iPhone. Я использую tableview. В этой таблице я отображаю изображение и имя. Изображение взято из библиотеки фотографий, и это изображение сохраняется в моей базе данных.

После того, как я извлекаю данные из базы данных, данные отображаются в tableview. При прокрутке tableview программа останавливается. Почему это происходит?

И когда я обновляю выбранную строку из табличного представления, она отображается обновленной, но данные в базе данных не обновляются. Почему это происходит?

Я использую код для обновления данных из базы данных, но данные не обновляются в базе данных. я выполняю тот же запрос в базе данных sqlite в executequery, но они не показывают ошибку. if (sqlite3_open([path UTF8String], amp;compiledb) ==SQLITE_OK) {

NSLog (@»Обновить данные без изображения в базе данных»);

const char *UpdateQueryinon=»обновить tbl_AgeCalculation установить fld_name =?,fld_Emailid =? где fld_name =? «;

(sqlite3_prepare_v2(compiledb, UpdateQueryinon, -1, amp; sql_stmt, NULL));

printf(«neror:%s»,sqlite3_errmsg(compiledb));

if (sqlite3_prepare_v2(compiledb, UpdateQueryinon, -1, amp;sql_stmt, NULL) ==SQLITE_OK) {

printf («База данных, с которой нужно работать»);

sqlite3_bind_text(sql_stmt, 1, [name_out UTF8String], -1, SQLITE_STATIC); sqlite3_bind_text (sql_stmt,2,[emailid_out UTF8String], -1, SQLITE_STATIC); //sqlite3_bind_text (acs, 3, [name UTF8String], -1, SQLITE_STATIC);

NSLog (@»Обновление завершено»); } }

Комментарии:

1. Вы должны удалить четыре пробела перед im

2. Что-то, что может помочь в решении такого рода проблем, публикует журнал сбоев / отладки. Если вы хотите прокрутить tableview, программа вылетает? Или это просто останавливается? Также может помочь несколько подсказок о строках кода.

Ответ №1:

Обычная проблема в UITableViews, приводящая к сбою вашего приложения, связана с памятью, и обычно она заключается в методе

 (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
  

В этом методе вы, вероятно, не освобождаете ячейку, и каждый раз, когда вы прокручиваете таблицу, новые ячейки создаются в стекировании памяти, пока у вас не закончится память и приложение не выйдет из строя.

О вашей базе данных. Я не могу много сказать, если вы не предоставите нам код.