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

Ваш аккаунт

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

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

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

Вопрос по DBGrid

836
18 января 2002 года
timchik
6 / / 20.05.2000
Есть dbgrid с выделенными несколькими строчками, надо по кнопке добавить записи
в другую таблицу. Сейчас реализовал
void __fastcall TfrmFindAddToPricebtnAddToNaklClick(TObject *Sender)
{
if (RxDBGrid1->SelectedRows->Count > 0)
{
TDataSet *pDS = RxDBGrid1->DataSource->DataSet;
String MySQL;
MySQL="INSERT INTO phpbb2_tmpPrice (ID_Manag,ID_Books) VALUES (";
MySQL+=IntToStr(CustomerData->ManagID) + ", QQ)";
CustomerData->qrTemp->Close();
CustomerData->qrTemp->SQL->Clear();
CustomerData->qrTemp->SQL->Add(MySQL);
RxDBGrid1->DataSource->DataSet->DisableControls();
CustomerData->tblPrice->Open();

for (int i=0; i < RxDBGrid1->SelectedRows->Count; i++)
{
pDS->GotoBookmark((void *)RxDBGrid1->SelectedRows->Items.c_str());
CustomerData->qrTemp->Parameters->ParamByName(&quot;QQ&quot;)->Value=pDS->Fields->Fields[1]->AsInteger;
try
{ CustomerData->qrTemp->ExecSQL();
}
catch(Exception &amp;Errr)
{ ;
}

}
RxDBGrid1->DataSource->DataSet->EnableControls();
pDS->First();
frmPriceView->DBGrid1->DataSource->DataSet->Close();
frmPriceView->DBGrid1->DataSource->DataSet->Open();
}

}
НО это жутко медленно - добавление 200 записей порядка 13 секунд (
Вопрос можно ли это как-то в принципе ускорить или надо подходить с какой-нибудь
принципиально другой стороны?
Может можно как-то построить 1 ОДИН запрос и потом его выпоолнить?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог