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

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

Инсерт [D5, IB5.x]


Alek ©   (2004-08-21 14:21:00) 

У меня в бд нужно вставить кучу новых записей в одной процедуре.
Сейчас я вставляю их так:

Dm1.IBDataSet1.Close;
DM1.IBDataSet1.SQL.Clear;
DM1.IBDataSet1.SQL.Add('insert into SOOTV_ZAPCHAST Values ('''+IntToStr(id2)+''','''+IntToStr(ids[i])+''') ');
DM1.IBDataSet1.Open;
Dm1.IBDataSet1.Close;
DM1.IBDataSet1.SQL.Clear;
DM1.IBDataSet1.SQL.Add('insert into SOOTV_ZAPCHAST Values ('''+IntToStr(ids[i])+''','''+IntToStr(id2)+''') ');
DM1.IBDataSet1.Open;
и т.д.

Можно ли както сделать один запрос который вставит нужные мне записи?? а то так слишком много времени уходит


Desdechado   (2004-08-21 15:25:00) [1]

1. все в одной транзакции
2. не Open, а ExecSQL
3. использовать параметры
4. сделать Prepare перед первым выполнением, но после присваивания SQL.Text
5. можно на время добавления отключить индексы


Наверх

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