![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TDBRichEdit ошибка [D7, Paradox]
sloug © (2004-10-04 17:44:00)Добрый день! У меня такой вопрос! Запись сохраняю так DataSource1.DataSet.Post, но когда DBRichEdit не модифицирован выдает ошибку примерно такого рода (DataSet not in edit or insert mode).Что это значит. Я наверное неправильно сохраняю. Подскажите пожалуйста как решить эту проблему, если есть время, то поподробнее. Спасибо всем, кто отклитнется.
Sandman25 (2004-10-05 12:43:00) [1][13] KSergey © (05.10.04 12:42)
Тут я бессилен :)
KSergey (2004-10-05 12:42:00) [2]> [11] Sandman25 © (05.10.04 11:46)
Мдя... не вник, каюсь ;)
KSergey (2004-10-05 12:42:00) [3]Но CheckBrowseMode мне все равно больше нравится ;)
Sandman25 (2004-10-05 11:46:00) [4]dsEditModes = [dsEdit, dsInsert]
KSergey (2004-10-05 11:45:00) [5]> [9] Sandman25 © (05.10.04 11:18)
Ну я на редактирование просто посмотрел как бы шире, а потому имел в виду dsInsert
Sandman25 (2004-10-05 11:18:00) [6][8] KSergey © (05.10.04 11:13)
1. В каком еще? Посмотрите реализацию TDataSet.Edit и значение dsEditModes
KSergey (2004-10-05 11:13:00) [7]1.DataSet может быть не только в dsEditModes при редактировании.
2.Для решения всех проблем разом рекомендую вместо DataSource1.DataSet.Post использовать DataSource1.DataSet.CheckBrowseMode - все в одном флаконе
Sandman25 (2004-10-05 10:22:00) [8]Хотя, с другой стороны, зачем вызывать Edit, если ничего записывать не надо? То есть, например, при закрытии формы хочется записать данные - тогда нужно проверить состояние и в случае еобходимости вызвать Post.
Sandman25 (2004-10-05 10:20:00) [9]Вру. Действительно, лучше вызывать Edit. Проверка на состояние находится в этом методе.
Sandman25 (2004-10-05 10:01:00) [10][3] Прохожий2 (04.10.04 19:03)
Проверка State выполняется гораздо быстрее, чем Edit и Post, даже если нет никаких присваиваний полям. Особенно интересно получается, если DataSet уже находится в состоянии dsEdit и у него вызывается Edit.
sloug (2004-10-04 21:52:00) [11]Большое спасибо! Если чесно, у меня были мысли по поводу состояния набора данных, но все равно спасибо за подсказку :)
Прохожий2 (2004-10-04 19:03:00) [12]Причём Sandman предлагает проверять находиться ли твой DataSet в состоянии Edit, но проще перевести сразу не думая будет он находится в этом состоянии или не будет, а то такие рассуждения обычно приводят к очень умным философическим высказываниям и к тормозам в программе.
Прохожий2 (2004-10-04 18:43:00) [13]Прежде переведи её в Edit.
Примерно так:
DataSource1.DataSet.Edit;
DataSource1.DataSet.Post;
Sandman25 (2004-10-04 17:45:00) [14]if DataSet.State in dsEditModes then