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

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

TIBDataSet: Проблема с генератором [D7, FireBird 1.0]


Страницы:   1 2

Alexander Vasjuk ©   (2003-06-20 13:12:00) 

Как правльноовать поддержку первичного ключа в IBDataSet?
Мой подход:
FieldID.Required = False,
InsertSQL = "insert into tbl(id, name) values(gen_id(g, 1), :name)", тут напрямую вызывается генератор, это не красиво
RefreshSQL = "select id, name from tbl where name = :name", тут запись идентифицируется не по ID а по другому уникальному полю, которого в общем случае может не быть.


Alexander Vasjuk   (2003-06-23 13:39:00) [1]

Посмотрел-посмотрел на GeneratorField.
Получилось, аллах акбар.
Спасибо Zacho


Жук   (2003-06-21 08:36:00) [2]


> Danilka © (21.06.03 08:03)
> Вероятно появилось в Д6-Д7, у меня в Д5 нет.

Появилось. И автор указал D7, значит
> Zacho © (20.06.03 18:39)


Danilka   (2003-06-21 08:03:00) [3]

Zacho © (20.06.03 18:39)
Вероятно появилось в Д6-Д7, у меня в Д5 нет.


Zacho   (2003-06-20 18:39:00) [4]

Блин ! У TIBDataSet есть св-во GeneratorField ! Хелп иногда читать надо, или хотя бы на Object Inspector смотреть !
А если даже и без GeneratorField то неужели трудно написать одинобработчик OnNewRecord для всех IBDataSet ?


Danilka   (2003-06-20 16:42:00) [5]

Alexander Vasjuk (20.06.03 16:22)
а у него-то какие проблемы?
если не хочешь сделать так как я уже написал, самое простое, в обработчике BeforeInsert дергай генератор, и пиши его значение в ключевое поле, делов-то на 5 минут.


Alexander Vasjuk   (2003-06-20 16:22:00) [6]

у меня тоже нет с ним проблем

Проблема в TIBDataSet


Danilka   (2003-06-20 16:11:00) [7]

тем не менее, есть по-крайней мере 2212 человека, которые используют IB в своей работе и подозреваю, не имеют никаких проблем с клучами и генераторами.
:))
http://www.sql.ru/


Johnmen   (2003-06-20 16:05:00) [8]

>Alexander Vasjuk (20.06.03 16:00)
>Итак, подведем итоги :)
>Нет нормального метода работы с ключами у ibdataset.

Этот вывод ты сделал САМ для СЕБЯ.


Alexander Vasjuk   (2003-06-20 16:00:00) [9]

Итак, подведем итоги :)

Нет нормального метода работы с ключами у ibdataset.

Всем спасибо


Johnmen   (2003-06-20 15:15:00) [10]

>Alexander Vasjuk (20.06.03 15:10)
>хочется побольше успеть...

"Торопиться не надо" (c) т.Саахов
:-)


Johnmen   (2003-06-20 15:10:00) [11]

>Alexander Vasjuk (20.06.03 15:00)

Еще раз не понял... Писать программу - Геморой. Некрасиво. ?????


Alexander Vasjuk   (2003-06-20 15:10:00) [12]

Danilka © (20.06.03 15:04)
>"переопределив insert"
это круто

теоретически все можно
только жизнь коротка, хочется побольше успеть...


Danilka   (2003-06-20 15:04:00) [13]

хех, а в чем проявилась моя монстроватость? может, что-то не то сказал? вроде должно работать...


Alexander Vasjuk   (2003-06-20 15:00:00) [14]

В гриде - я вношу данные руками, а не программно (insert-post). Надо определять события. Геморой. Некрасиво.
И так для каждого набора данных.


Johnmen   (2003-06-20 14:53:00) [15]

>Alexander Vasjuk (20.06.03 14:50)
>Некрасивость проявляется при редактировании данных в гриде.

Не понял...:)


Alexander Vasjuk   (2003-06-20 14:50:00) [16]

Johnmen © (20.06.03 13:48)
>>Некрасиво, согласись.
>Не соглашусь.
Некрасивость проявляется при редактировании данных в гриде.

Danilka © (20.06.03 13:53)
Ну ты монстр!

Alexandr © (20.06.03 14:00)
А точных сведений нет?


Alexandr   (2003-06-20 14:00:00) [17]

попробуйте обновить версию IBX
эта фича могла появиться...


Danilka   (2003-06-20 13:53:00) [18]

Alexander Vasjuk (20.06.03 13:25)
Думаю, написать от него наследника, добавив свойство PKGeneratorName и переопределив insert не составит большого труда, думаю, времени уйдет меньше, чем прошло с момента появления вопроса на форуме. :))


Johnmen   (2003-06-20 13:48:00) [19]

>Alexander Vasjuk (20.06.03 13:25)
>Некрасиво, согласись.

Не соглашусь.

А если хочется автоматической поддержки, то переходи на FibPlus - там это есть.


Alexander Vasjuk   (2003-06-20 13:25:00) [20]

Johnmen © (20.06.03 13:19)
>2. Получить значение генератора заранее и указать его в insert

Некрасиво, согласись.
У меня таких наборов 40 штук.
Неужели такой мощный инструмент IBDaatSet не поддерживает генерируемые ключи?


Страницы:   1 2

Наверх

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