Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.08.2013, 11:34   #1
cherry25
Форумчанин
 
Регистрация: 16.02.2009
Сообщений: 110
По умолчанию Работа с компонентами Oracle

Ошибки глупые, но давно не работала с БД. Код отрабатывает, но не так, как нужно

Код:
 DSData.First;

 for i:=1 to DSData.RecordCount do
  begin

// получаем данне для последующего занесения в таблицу

    DSInsRec.Active:=false;
    DSInsRec.Active:=true;

   DSInsRec.Append;

    DSInsRec.Insert;

    DSInsRec.Edit;
      // здесь добавляем значения полей
    DSInsRec.Post;

   DSData.Next;
  end;

  if MessageDlg ('Сохранить данные?',mtConfirmation{mtWarning}, [mbYes, mbNo], 0)=mrYes then
     begin
       DSInsRec.CommitUpdates;
     end
      else
     begin
       Session.Rollback;
     end;
1. Post сразу коммитит данные в таблицу, а надо, чтобы отрабатывало по подтверждению MessageDlg.
2. Вносится все в одну строку, т.е. фактически добавляется только последняя запись. Надо, чтобы каждый раз добавлялась строка, а потом вносились данные

Спасибо!

Последний раз редактировалось Stilet; 22.08.2013 в 11:42.
cherry25 вне форума Ответить с цитированием
Старый 22.08.2013, 11:42   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

DSInsRec это что за компонент?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.08.2013, 11:46   #3
cherry25
Форумчанин
 
Регистрация: 16.02.2009
Сообщений: 110
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
DSInsRec это что за компонент?
Это OracleDataSet. Прошу прощения, на автомате перенесла код и не уточнила
cherry25 вне форума Ответить с цитированием
Старый 22.08.2013, 11:50   #4
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

так немного лучше будет
Код:
  DSData.First;
  DSInsRec.Active := True;
  while not DSData.Eof do
  begin
    // получаем данне для последующего занесения в таблицу
    DSInsRec.Insert;
    // здесь добавляем значения полей
    DSInsRec.Post;
    DSData.Next;
  end;
а по поводу автокоммита - смотри настройки своего DSData.
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 22.08.2013, 11:56   #5
cherry25
Форумчанин
 
Регистрация: 16.02.2009
Сообщений: 110
По умолчанию

Цитата:
Сообщение от Yurk@ Посмотреть сообщение
так немного лучше будет
Код:
  DSData.First;
  DSInsRec.Active := True;
  while not DSData.Eof do
  begin
    // получаем данне для последующего занесения в таблицу
    DSInsRec.Insert;
    // здесь добавляем значения полей
    DSInsRec.Post;
    DSData.Next;
  end;
а по поводу автокоммита - смотри настройки своего DSData.
Спасибо огромное, совершенно забыла за эти настройки
cherry25 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с чужими компонентами Ybn2 Общие вопросы Delphi 1 05.02.2012 00:32
Работа с формами и компонентами kholoshchak Общие вопросы Delphi 0 02.06.2011 12:10
Работа с компонентами из ресурсов Defunate Общие вопросы Delphi 5 29.05.2011 15:57
Работа с компонентами Ky3Heu, Общие вопросы Delphi 2 24.04.2009 11:58
Работа с компонентами Ehlib cherry25 БД в Delphi 4 26.02.2009 10:20