Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Добавление в базу через Ttable 
:(
    Опции темы
DYUMON
Дата 31.5.2012, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 321
Регистрация: 17.6.2006
Где: Новосибирск

Репутация: 2
Всего: 3



Доброго всем времени суток.
Такой вопрос.
Делаю базу данных  на PostgreSql. Необходимо добавлять данные в связные таблицы в первую таблицу  описание документа
во вторую данные документа . соотсветственно связка идет по id документа. 
Но не получается получить id от добавленной в первую таблицу строки.  
делаю так .
Код

ttable1.starttransaction;
ttable1.append;
ttable1.edit;
.....
//добавление данных
.....
ttable1.post;
 .......
ttable2.starttransaction;
//а вот тут по идее  надо делать добавление записей во вторую таблицу
//но  ttable1.lastinsertid возвращает 0
// я так понимаю пока транзакция не закроется id не будет возвращен?
........ 
ttable1.transactioncommit;
ttable2.transactioncommit;

подскажите как правильнее сделать?


--------------------
Всех программистов надо посадить на целероны, что бы впредь головой думали что пишут.
user posted image
PM MAIL ICQ Skype   Вверх
drkot
Дата 1.6.2012, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ищущий
***


Профиль
Группа: Завсегдатай
Сообщений: 1042
Регистрация: 5.5.2006

Репутация: нет
Всего: 8



Цитата

подскажите как правильнее сделать?


есть несколько путей:
1) SQL процедура (имхо самый нормальный)
2) ручное управление автоинкрементом (как в Oracle например). 
3) закрывать транзакцию по первой таблице до записи во вторую

2 и 3 нужно предусмотреть потоко-безопасный подход.


--------------------
Ошибка не становится истиной по причине широкого распространения,
как и Истина не становится Ошибкой из-за того, что никто её не видит.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0838 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.