Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.14;
Скачать: CL | DM;

Вниз

Индексные файлы 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.013 c
14-46106
ArthurA
2002-10-26 18:36
2002.11.14
ЧАСЫ???


1-45880
NeyroSpace
2002-11-05 14:00
2002.11.14
Как узнать какой компонент породил Exception?


1-45896
atmospheric
2002-11-05 22:42
2002.11.14
UpCase не работает с русскими буквами !!


7-46162
AndreyS
2002-09-12 20:22
2002.11.14
На чем лучше писать драйвера?


3-45734
DJ LLL
2002-10-24 15:01
2002.11.14
REPORT