![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
dbf
lightix © (2004-11-17 10:01:00)При работе с dbf при помощи компонента UpdateSQL после удаления записи, вылетает ошибка при попытке записать сохранения ApplyUpdates&
Anatoly Podgoretsky (2004-11-17 17:55:00) [1]lightix (17.11.04 14:44) [25]
Надо перейти на dBase VII
lightix (2004-11-17 15:53:00) [2]
> Соловьев © (17.11.04 15:04) [26]
>
> это будет работать и без UpdateSQL
Т.е. хочешь сказать что можно без индексов обойтись с UpdateSQL?
Каким образом?
> > А вот с чем не смог разобраться - так это с уникальным
> >ключем
> не знаю, я бы сделал это с помощью SQL
Подскажи плиз как это сделать
Соловьев (2004-11-17 15:04:00) [3]
> нет, не в этом дело... вычитал в хелпе что для того чтобы
> можно было редактировать в датасете данные с использованием
> ORDER BY и UpdateSQL, нужно чтобы существовали индексы по
> полям присутствующим в ORDER BY
> Создал - все работает :)
это будет работать и без UpdateSQL
> А вот с чем не смог разобраться - так это с уникальным ключем
> в таблице ... Как его создать? В DBD делаю Expression Index,
> пишу KST + POTPR, ставлю галочку на xUnique - и всеравно
> позволяет ввести запись с повторяющимся ключем KST + POTPR
> ... :(
> Что делать?
не знаю, я бы сделал это с помощью SQL
lightix (2004-11-17 14:44:00) [4]А вот с чем не смог разобраться - так это с уникальным ключем в таблице ... Как его создать? В DBD делаю Expression Index, пишу KST + POTPR, ставлю галочку на xUnique - и всеравно позволяет ввести запись с повторяющимся ключем KST + POTPR ... :(
Что делать?
lightix (2004-11-17 14:42:00) [5]нет, не в этом дело... вычитал в хелпе что для того чтобы можно было редактировать в датасете данные с использованием ORDER BY и UpdateSQL, нужно чтобы существовали индексы по полям присутствующим в ORDER BY
Создал - все работает :)
Соловьев (2004-11-17 14:01:00) [6]
> в том то и дело что не переводит
создай чистый проект, сделай все в дизайн тайме(запросы), и пробуй. Возможно где-то ты намудрил с формированием запросов
lightix (2004-11-17 13:58:00) [7]в том то и дело что не переводит
Соловьев (2004-11-17 13:55:00) [8]
> А без кешированных изменений почему то dataset не переходит
> в режим редактирования если имеется в sql запросе фраза
> ORDER BY
Вообще-то если ты прикрутил UpdateSQL то должно переводить
Кешированные изменения тут не причем.
lightix (2004-11-17 13:50:00) [9]А мне нужно по разному сортировать данные (см кусок кода выше)
lightix (2004-11-17 13:48:00) [10]А без кешированных изменений почему то dataset не переходит в режим редактирования если имеется в sql запросе фраза ORDER BY
Соловьев (2004-11-17 13:34:00) [11]А зачем тебе кешированніе изменения в бдф?
lightix (2004-11-17 12:54:00) [12]
> Соловьев © (17.11.04 12:06) [16]
> CachedUpdates = true?
Да
Соловьев (2004-11-17 12:06:00) [13]CachedUpdates = true?
lightix (2004-11-17 11:44:00) [14]
> Соловьев © (17.11.04 11:25) [10]
>
> > На кнопке сохранения данных:
>
> А почему ты туда еще StartTransaction и CommitTransaction
> не написал? Для полноты?
А что собственно смущает? Edit-Post написал уже от безысходности, думал в кэш не попадают изменения...
А ApplyUpdates+CommitUpdates подряд - это так в книжке господина Архангельского в примере...
lightix (2004-11-17 11:41:00) [15]
> Плохиш © (17.11.04 11:25) [11]
> 1. Форум по делфи
Я могу изменить синтаксис на паскалевский, если возражаете, не вопрос...
> После такого он тебе правильно говорит. Как можно сохранить
> изменения, которых не было?
Post происходит в кэш, а изменения из кэша в таблицу не попадают
lightix (2004-11-17 11:38:00) [16]
> ЮЮ © (17.11.04 11:27) [12]
> все три поля не богут быть NULL и тройка (KST, POTPR, NST)
> образуют уникальную комбинацию?
> Только в этом случае запрос в UpdateSQL:Modify вернет ровно
> одну запись а не "Update failed"
так и есть, комбинация уникальная, NULL не заношу...
ЮЮ (2004-11-17 11:27:00) [17]все три поля не богут быть NULL и тройка (KST, POTPR, NST) образуют уникальную комбинацию?
Только в этом случае запрос в UpdateSQL:Modify вернет ровно одну запись а не "Update failed"
Плохиш (2004-11-17 11:25:00) [18]
> lightix (17.11.04 11:19) [8]
1. Форум по делфи
> На кнопке сохранения данных:
> Query1->Edit();
> Query1->Post();
После такого он тебе правильно говорит. Как можно сохранить изменения, которых не было?
Соловьев (2004-11-17 11:25:00) [19]
> На кнопке сохранения данных:
А почему ты туда еще StartTransaction и CommitTransaction не написал? Для полноты?
Соловьев (2004-11-17 11:23:00) [20]
> Query1->Edit();
> Query1->Post();
>
> Query1->ApplyUpdates();
> Query1->CommitUpdates();
Вот так и написано?!!!