Главная страница
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.021 c
1-45835
Delph
2002-11-05 11:49
2002.11.14
Как установить курсор на последнюю строку Memo?


3-45665
NightCon
2002-10-24 07:09
2002.11.14
БД не работает по сети


1-45831
__q1
2002-11-05 12:23
2002.11.14
Вопрос по RTTI (наверное:)


3-45785
Геннадий
2002-10-26 14:29
2002.11.14
Как сохранить DBGrid в (текстовый) файл?


3-45744
dimonf
2002-10-24 18:28
2002.11.14
ADO. Как вытащить две базы из одного ResultSet-а?