Форум: "Базы";
Текущий архив: 2002.11.14;
Скачать: [xml.tar.bz2];
ВнизИндексные файлы Paradox Найти похожие ветки
← →
Элина (2002-10-25 16:53) [0]Люди помогите для чего нужны файлы *.px; *.xg0; *.yg0, как проверить их наличие и как их создать??? и как они работают?
← →
Darts (2002-10-25 17:33) [1]1. *.px; *.xg0; *.yg0 - это и есть индексы.
2. как проверить их наличие и как их создать??? - проверить можно визуально. Создать - в DBD (DataBase Desktop).
3. и как они работают? - упорядочивают таблицы по определенному критерию, скажем, фо фамилии, имени и отчеству. Позволяют быстро искать.
Но лучше почитать учебник, скажем, Фаронова, если есть большие затруднения. Ведь понятие Баз данных - довольно сложная штука.
← →
Элина (2002-10-25 17:36) [2]Мне бы их программно создавать...
← →
Darts (2002-10-25 17:45) [3]Ну хорошо. Привожу реальный код. Разьберешься - сниму шляпу.
procedure TfmReindex.bnGoClick(Sender: TObject);
begin
try
pbReindex.Position := 0;
Screen.Cursor := crHourGlass;
//////////////////////////////////////////////////////////////////////////
// Orders
//////////////////////////////////////////////////////////////////////////
DataModule1.tbOrders.Open;
sbStatus.Panels[0].Text := " Orders.db";
//
sbStatus.Panels[1].Text := " индексируется Orders_Type...";
Application.ProcessMessages;
DataModule1.tbOrders.AddIndex("Orders_Type", "OrderNo", [ixPrimary]);
//
sbStatus.Panels[1].Text := " индексируется Orders02_NumbDate...";
Application.ProcessMessages;
DataModule1.tbOrders.AddIndex("Orders02_NumbDate", "OrderNumb;OrderDate", [ixCaseInsensitive]);
//
sbStatus.Panels[1].Text := " индексируется Orders04_Date...";
Application.ProcessMessages;
DataModule1.tbOrders.AddIndex("Orders04_Date", "OrderDate", [ixCaseInsensitive]);
pbReindex.Position := 1;
Application.ProcessMessages;
//////////////////////////////////////////////////////////////////////////
// Phones
//////////////////////////////////////////////////////////////////////////
DataModule1.tbPhones.Open;
sbStatus.Panels[0].Text := " Phones.db";
//
sbStatus.Panels[1].Text := " индексируется PhoneNo...";
Application.ProcessMessages;
DataModule1.tbPhones.AddIndex("", "PhoneNo", [ixPrimary]);
//
sbStatus.Panels[1].Text := " индексируется Phones02_Numb...";
Application.ProcessMessages;
DataModule1.tbPhones.AddIndex("Phones02_Numb", "PhoneNumb", [ixCaseInsensitive]);
//
sbStatus.Panels[1].Text := " индексируется Phones03_Address...";
Application.ProcessMessages;
DataModule1.tbPhones.AddIndex("Phones03_Address", "PhoneAddress", [ixCaseInsensitive]);
pbReindex.Position := 2;
Application.ProcessMessages;
//////////////////////////////////////////////////////////////////////////
// Cars
//////////////////////////////////////////////////////////////////////////
DataModule1.tbCars.Open;
sbStatus.Panels[0].Text := " Cars.db";
//
sbStatus.Panels[1].Text := " индексируется CarNo...";
Application.ProcessMessages;
DataModule1.tbCars.AddIndex("", "CarNo", [ixPrimary]);
//
sbStatus.Panels[1].Text := " индексируется Cars02_Numb...";
Application.ProcessMessages;
DataModule1.tbCars.AddIndex("Cars02_Numb", "CarNumb", [ixCaseInsensitive, ixUnique]);
pbReindex.Position := 3;
Application.ProcessMessages;
//////////////////////////////////////////////////////////////////////////
// Works
//////////////////////////////////////////////////////////////////////////
DataModule1.tbWorks.Open;
sbStatus.Panels[0].Text := " Works.db";
//
sbStatus.Panels[1].Text := " индексируется WorkID...";
Application.ProcessMessages;
DataModule1.tbWorks.AddIndex("", "WorkID", [ixPrimary]);
//
sbStatus.Panels[1].Text := " индексируется Work_ID...";
Application.ProcessMessages;
DataModule1.tbWorks.AddIndex("Work_ID", "WorkID", [ixCaseInsensitive, ixUnique]);
pbReindex.Position := 4;
Application.ProcessMessages;
DataModule1.tbOrders.Close;
DataModule1.tbPhones.Close;
DataModule1.tbCars.Close;
DataModule1.tbWorks.Close;
Screen.Cursor := crDefault;
Application.MessageBox("Переиндексация успешно завершена!", "Сообщение", MB_ICONINFORMATION);
except
on E: Exception do begin
Screen.Cursor := crDefault;
ShowMessage(E.Message);
end;
end;
end;
← →
Darts (2002-10-25 17:47) [4]Тут самое главное - метод AddIndex
AddIndex(НазваниеИндекса, ИмяПоля, [ТипИндекса])
← →
Элина (2002-10-25 17:50) [5]Спасибо разбираться пошла.. в новых очках :)))))
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.11.14;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c