Вниз
Скачать: 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.009 c
3-882
AFROLOV
2002-06-06 16:16
2002.07.01
как записать дату+время в бд Access?


3-917
Sergant
2002-06-07 18:10
2002.07.01
Вопрос по правам пользователей в Interbase/Firebird


14-1169
MaximatorVeter
2002-05-22 18:34
2002.07.01
Подкиньте работу!


1-1046
ValeX
2002-06-18 18:19
2002.07.01
Киньте плиз пример с использованием TFileStream


4-1248
vvedensk
2002-05-03 13:46
2002.07.01
Может кто мне объяснит как узнать Handle




   Наверх