Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

dbf


Страницы:   1 2

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();

Вот так и написано?!!!


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо