VainahskiyPapa |
Отправлено: 08.09.2003, 11:17 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 46
|
Хочу обеспечить вставку в mdb значения которого нет, если существует такое значение то не вставлять. Делаю это ниже приведенным способом. Вопрос в том что почему когда я пробегаю этот код то if (exists!=1) не проходит условия но данные вставляются и ладно бы ниже других всавлялись так они же поверх чего нибудб записываются!!! Прямл таки загадка для меня — помогите кто чем может. Плиииииз.
void __fastcall TAddItem::OkBtnClick(TObject *Sender)
{
int exists=0;
for (DataModule2->TblTitles->First(); !DataModule2->TblTitles->Eof; DataModule2->TblTitles->Next())
if (DataModule2->TblTitles->Fields->FieldByName("name")->AsString==DCBTitle->Text)
{exists=1;// ShowMessage(DataModule2->TblTitles->Fields->FieldByName("name")->AsString+DCBTitle->Text); break;}
}
if (exists!=1){
ShowMessage("not exists");
DataModule2->TblTitles->Last();
DataModule2->TblTitles->Insert();
DataModule2->TblTitles->Fields->FieldByName("name")->AsString=DCBTitle->Text;
DataModule2->TblTitles->Post();
} |
|
LeeMouse |
Отправлено: 08.09.2003, 14:45 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 79
|
ну ты написаааал.....
Ну, для начала, а почему бы не отказаться от полного перебора и не поискать запись ну хотя бы Locate ???
Ну и наконец — почему бы не определить уникальный индекс на поле поиска и не искать с помощью Seek ???
Полный перебор всех записей — это совсем неправильно. |
|