![]() |
|
|
![]()
|
|
| NieL |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 214 Регистрация: 10.2.2008 Репутация: нет Всего: 1 |
Необходимо добавить запись в таблицу БД и установить ее текущей. Пока что cделал что-то типа:
Но тут возник вопрос, если с базой буде работать одновременно несколько десятков пользователей, какова вероятность нарваться не на "свою" записть (Q.Last). Или же лучше делать добавление через через TTable.
|
||||
|
|||||
| Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 6 Всего: 15 |
2-й вариант имхо лучше... во-первых, не на свою не нарвешься, во-вторых, доп. запрос не требуется.
|
|||
|
||||
| pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
оба варианта плохи:
1. Зачем Last если нам известен (я так понимаю уникальный) id? Почему тогда не Locate? 2. С детства аллергия на TTable. Добавлено через 1 минуту и 30 секунд -------- да и
Last можно сделать в выборке. а выборки в Q нет. -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
| Deniz |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 8 Всего: 44 |
NieL, а как насчет правил написания сообщения?
Kbl4AH, про TTable лучше вообще забыть. -------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
| NieL |
|
||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 214 Регистрация: 10.2.2008 Репутация: нет Всего: 1 |
link_id - не является уникальным id, он принимает значения в диапазоне 1..3, а Уникальный id (Item_id) генерится автоматически при добавлении. C
1. DBISAM 2. свой набор компонент постовляемый с базой (в принципе аналог BDE) |
||||||
|
|||||||
| pseud |
|
||||||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
раз как БДЕ, то вот БДЕ пример.
Query1 - твоя выборка для грида (наверно). например такая:
-------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
||||||
|
|||||||
| Deniz |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 8 Всего: 44 |
а там есть возможность получить id только что вставленной тобой записи?
-------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
| NieL |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 214 Регистрация: 10.2.2008 Репутация: нет Всего: 1 |
Но ведь в этом случае есть шанс нарваться не на "свою" запись? |
|||
|
||||
| pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
шанс мизерный -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
| Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 6 Всего: 15 |
pseud, Deniz... причем здест Тейбл? Главное есть Датасет.... а если есть Датасет, то после
будет активна именно добавленная запись... или я чего-то не понимаю |
|||
|
||||
| NieL |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 214 Регистрация: 10.2.2008 Репутация: нет Всего: 1 |
Кажется нашел способ:
Но возможно в нем есть недостатки? |
|||
|
||||
| pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
Kbl4AH, возможно с логикой использования TTable все нормально.
Но я не хочу его обсуждать впринципе. Потому как: Добавлено через 1 минуту и 45 секунд вопрос сугубо к спецам DBISAM. но что-то мне подсказывает, что select @@identity вернет следующее значение счетчика. -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
| Kbl4AH |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 741 Регистрация: 1.4.2008 Где: Вятка Репутация: 6 Всего: 15 |
||||
|
||||
| pseud |
|
||||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
чтоб сработал
DataSet должен быть с двунапарвленным курсором (тот самый TTable) именно этого я и не люблю. -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
||||
|
|||||
| NieL |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 214 Регистрация: 10.2.2008 Репутация: нет Всего: 1 |
"Значение полю со свойством IDENTITY присваивается автоматически в момент создания новой записи. Новое значение - это последнее использованное значение плюс некоторая фиксированная величина. Обратите внимание, новое значение опирается не на максимальное значение в существующих записях, а на последнее использованное значение. Это значит, что записи с последним использованным значением физически может не существовать, тем не менее, это значение будет использовано.".
В моем случае при каждом добавлении будет возвращено значение соответствующее значению уникальной записи, или я не прав? |
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |