Вниз
Скачать: CL | DM;

TQuery + ТUpdateSQL   Найти похожие ветки 

← →
VAleksey ©   (2002-06-07 15:51) [0]

Использую связку сабж.
Справочник
ID, Name
+ string
Добавляю новую запись > делаю ApplyUpdates.
Тут же удаляю эту же запись > делаю ApplyUpdates.
Вылетает ошибка: Update Filed. В обработчике исключения получаю вот такой текст ошибки: "Operation aborted"
Почему так происходит ?


← →
kaif ©   (2002-06-07 16:00) [1]

К меня та же ошибка происходила в комбинации TIBQuery+TIBUpdateSQL. Избавился переходом на TIBDataSet. Так что, возможно, это не ошибка логики, а ошибка самого компонента TUpdateSQL и всех его наследников. Хотя боюсь на этом настаивать.


← →
Lusha ©   (2002-06-07 16:08) [2]

А ID случаем не AutoIncrement?


← →
VAleksey ©   (2002-06-07 16:12) [3]

2 Lusha © (07.06.02 16:08)
Да, я понял, что в этом дело, но нельзя ли это обойти ?


← →
VAleksey ©   (2002-06-07 16:14) [4]

2 Lusha © (07.06.02 16:08)
или присвоить Old_Id свое значение ?


← →
Lusha ©   (2002-06-07 16:22) [5]

>VAleksey © (07.06.02 16:12)
1. Создать таблицу с одной записью, где в соответствующих полях хранить значение автоикрементного ключа...
2. Перечитывать таблицу после операции вставки...
3. Избавиться от операции удаления в логике БД. Ибо все изменения в ХОРОШЕЙ БД должны прослеживаться от начала до конца и протоколироваться... Для этого достаточно заменить операцию удаления в бизнесс правилах на операцию вставки (читай добавление новой заключительной версии записи). Тоже самое с модификацией и вся Ваша БД будет одна сплошная вставка... :)


← →
VAleksey ©   (2002-06-07 16:27) [6]


> Lusha © (07.06.02 16:22)

Мудрость твоя не знает границ 8). Да уж нажил я себе геморойчик !


← →
kaif ©   (2002-06-07 16:37) [7]

ХОРОШИХ баз не бывает, так же, как не бывает абсолютного блага или абсолютно неэластичного спроса. Бывают наилучшие решения конкретных задач. База, в которой не бывает DELETE нарушает стандарт SQL ANSI-92, в котором есть DELETE.
Простите за резкость...


← →
Lusha ©   (2002-06-07 16:46) [8]

>kaif © (07.06.02 16:37)
База, батенька, нарушать стандарт не может... Нарушить стандарт может производитель СУБД отклонившись от него при разработке спецификации ее языка... А еще надо быть внимательней и на смайлики внимание таки обращать...

P.S. Практически для всех систем, в разработке которых я принимал участие, вариант №3 был бы наиболее приемлем...


← →
kaif ©   (2002-06-07 17:19) [9]

Я понимаю, что ANSI-92 это не стандарт для базы, а стандарт движка-интерпретатора. Но я просто хотел намекнуть, что если любой движок поддерживает DELETE, значит это не есть бесполезная вещь, функционального аналога которой не должно быть в "ХОРОШЕЙ" базе.
Представим себе базу данных (Paradox, как у задающего вопрос), в которую пользователь добавляет с его точки зрения интересные ссылки на ветки этого форума. Например, чтобы завтра на них еще раз взглянуть. Нужно быть сумасшедшим, чтобы утверждать, что "ХОРОШАЯ" база должна хранить эти ссылки вечно.


← →
Lusha ©   (2002-06-07 17:24) [10]

>kaif © (07.06.02 17:19)
Да-а-а? Ну, тогда я сумасшедший... :)


← →
kaif ©   (2002-06-07 17:33) [11]

>2 Lusha © (07.06.02 17:24)
:)
Наверно, я заработался. Нельзя быть таким серьезным...
Эту ветку предлагаю сохранить навечно. Для надежности скинуть ее на 2 CDRW.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.011 c
1-942
Янушка
2002-06-17 18:01
2002.07.01
Динамическое изменение положения label


1-945
besen-ok
2002-06-19 17:05
2002.07.01
Емуляция нажаться клавиши при ратоте с MS TErminal Сервер


1-1067
Rival
2002-06-18 23:59
2002.07.01
Помогите плз...


1-1002
victorbur
2002-06-20 11:42
2002.07.01
По компоненту TEdit


3-921
Tahion
2002-06-06 20:04
2002.07.01
Как сделать просмотр QuickRep (3.0)(не исп. стандартный preview)?




   Наверх