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);
}
}
получение данных с grid
первая строка. Что нужно изменить, чтоб записывались и остальные строки, типа пока не конец.
Код:
А прокомментировать?
Записывает только 1-ю строку IRow=1, из таблицы. Если IRow=1- 2-ю строку. Как сделать, чтобы ходило по циклу и передавала все строки от IRow=1 до RowCount ?
ну так сделать цикл по IRow, например
Код:
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);
}
}
}
{
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);
}
}
}