Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

получение данных с grid

50K
24 октября 2011 года
Aden
43 / / 24.10.2011
в Grid выводится результат запроса (2 строки). Нужно переписать значения полученных строк на новую дату. Перезаписывается только
первая строка. Что нужно изменить, чтоб записывались и остальные строки, типа пока не конец.
Код:
void __fastcall TFrame_SH_SOTR::bbtNaDatuClick(TObject *Sender)
{
int IRow=1;
int SOTR=StrToInt(dmOne->Val1_po_Val2("SPR_SOTR","KOD","NAIM",cbSotr->Text));
dmOne->IBQTwo->SQL->Text="update or insert into SOOTV_SOTR_ADR (DATA_IZM, FORIGN_SPR_SOTR, DOM, FOREIGN_SOOTV_ADR)"
" values (:DATA,:SOTR,:DOM,:ADRES)";
dmOne->IBQTwo->ParamByName("DATA")->AsString=dtpProsm->Date;
dmOne->IBQTwo->ParamByName("SOTR")->AsInteger=SOTR;
dmOne->IBQTwo->ParamByName("DOM")->AsString=sgUth->Cells[2][IRow];
dmOne->IBQTwo->ParamByName("ADRES")->AsString=sgUth->Cells[6][IRow];
 try {
         dmOne->IBQTwo->Prepare();
         dmOne->IBQTwo->ExecSQL();
         dmOne->IBTROne->Commit();
         dmOne->IBQTwo->Close();
         cbSotrExit(Sender);
         MessageDlg("Данные сохранены.", mtInformation,TMsgDlgButtons()<<mbOK ,0);
  } catch (...) {
         MessageDlg("Изменения не сохранены!",
                  mtError,TMsgDlgButtons()<<mbOK ,0);
  }
}
14
24 октября 2011 года
Phodopus
3.3K / / 19.06.2008
А прокомментировать?
50K
24 октября 2011 года
Aden
43 / / 24.10.2011
Записывает только 1-ю строку IRow=1, из таблицы. Если IRow=1- 2-ю строку. Как сделать, чтобы ходило по циклу и передавала все строки от IRow=1 до RowCount ?
14
25 октября 2011 года
Phodopus
3.3K / / 19.06.2008
ну так сделать цикл по IRow, например
50K
25 октября 2011 года
Aden
43 / / 24.10.2011
Спасибо. Получилось.:D
Код:
void __fastcall TFrame_SH_SOTR::bbtNaDatuClick(TObject *Sender)
{
int IRow=1;
int SOTR=StrToInt(dmOne->Val1_po_Val2("SPR_SOTR","KOD","NAIM",cbSotr->Text));

while(IRow < sgUth->RowCount) {
dmOne->IBQTwo->SQL->Text="update or insert into SOOTV_SOTR_ADR (DATA_IZM, FORIGN_SPR_SOTR, DOM, FOREIGN_SOOTV_ADR)"
" values (:DATA,:SOTR,:DOM,:ADRES)";
dmOne->IBQTwo->ParamByName("DATA")->AsString=dtpProsm->Date;
dmOne->IBQTwo->ParamByName("SOTR")->AsInteger=SOTR;
dmOne->IBQTwo->ParamByName("DOM")->AsString=sgUth->Cells[2][IRow];
dmOne->IBQTwo->ParamByName("ADRES")->AsString=sgUth->Cells[6][IRow];
IRow++;
 try {
     dmOne->IBQTwo->Prepare();
     dmOne->IBQTwo->ExecSQL();
     dmOne->IBTROne->Commit();
     dmOne->IBQTwo->Close();
     MessageDlg("Данные сохранены.", mtInformation,TMsgDlgButtons()<<mbOK ,0);
  } catch (...) {
     MessageDlg("Изменения не сохранены!",
          mtError,TMsgDlgButtons()<<mbOK ,0);
 }
    }
}
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог