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

Ваш аккаунт

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

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

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

Осущесвление по базе данных

8.8K
02 декабря 2004 года
Nik07
5 / / 02.12.2004
Уважаемые программисты помогите с программным кодом поиска по базе данных. Перепробовал всё что знаю, но результат пока нет. А так программа работает лучше, чем думал. Единственная проблема написание кода поиска по базе. Среда программирования C++ Builder 5. Постоянно выдаёт сообщение что не индексировано или Index is out of bound и т.д.

Пожалуйста помогите!!!!!
8.8K
02 декабря 2004 года
Jackdaw@
13 / / 11.11.2004
Цитата:
Originally posted by Nik07
Постоянно выдаёт сообщение что не индексировано или Index is out of bound и т.д.



А как искать то пытаешься?

1
02 декабря 2004 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by Nik07
Уважаемые программисты помогите с программным кодом поиска по базе данных. Перепробовал всё что знаю, но результат пока нет. А так программа работает лучше, чем думал. Единственная проблема написание кода поиска по базе. Среда программирования C++ Builder 5. Постоянно выдаёт сообщение что не индексировано или Index is out of bound и т.д.

Пожалуйста помогите!!!!!


И какая база?

8.8K
03 декабря 2004 года
Nik07
5 / / 02.12.2004
Цитата:
Originally posted by kot_

И какая база?



База создана на Buildere Desktop Database Paradox 7.
Для поиска использовал все возможные варианты. Может что я пропустил? Помогите плиз!!!!!

1
03 декабря 2004 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by Nik07


База создана на Buildere Desktop Database Paradox 7.
Для поиска использовал все возможные варианты. Может что я пропустил? Помогите плиз!!!!!


Слушай ну тебе же ясно сказали - у большинства очень глюкавый релиз telepat.dll. Как я должен догадатся КАКИЕ варианты ты использовал? И откуда кто должен знать, что ТЫ пропустил? Скромнее надо быть..:)

259
03 декабря 2004 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by Nik07


База создана на Buildere Desktop Database Paradox 7.
Для поиска использовал все возможные варианты. Может что я пропустил? Помогите плиз!!!!!


А Lookup пробовал? Ему что индекс, что не индекс все одно.
Или Locate.

8.8K
04 декабря 2004 года
Nik07
5 / / 02.12.2004
Цитата:
Originally posted by AlexandrVSmirno

А Lookup пробовал? Ему что индекс, что не индекс все одно.
Или Locate.




Пробовал ниже описанные варианты:

1-й Вариант:

Table1->IndexFieldNames="Номер_телефона";
Table1->SetKey();
Tale1->FieldByName("Номер_телефона")-> AsInteger=Edit1->Text;


2-й Вариант:

Query1->Params->Items[3]->AsInteger=Edit1->Text;


3-й Вариант:

void __fastcall TForm1::RadioButton2Click(TObject *Sender)
{
Table1->Active=False;
Table1->DatabaseName="BCDEMOS";
Table1->TableType=ttParadox;
Table1->TableName="TelSpravochnik_1.db";
if(!Table1->Exists)
{
Table1->FieldDefs->Clear();
TFieldDef *pNewDef=Table1->FieldDefs->AddFieldDef();
pNewDef->Name="Код_страны";
pNewDef->DataType=ftInteger;
pNewDef->Required=true;

TFieldDef *pNewDef = Table1->FieldDefs->AddFieldDef();
pNewDef->Name="Код_города";
pNewDef->DataType=ftInteger;

TFieldDef *pNewDef=Table1->FieldDefs->AddFieldDef();
pNewDef->Name="Номер_телефона";
pNewDef->DataType=ftLargeInteger;

TFieldDef *pNewDef=Table1->FieldDefs->AddFieldDef();
pNewDef->Name="Сотовый_телефон";
pNewDef->DataType=ftLargeInteger;

TFieldDef *pNewDef=Table1->FieldDefs->AddFieldDef();
pNewDef->Name="ФИО_Владельца";
pNewDef->DataType=ftString;

TFieldDef *pNewDef=Table1->FieldDefs->AddFieldDef();
pNewDef->Name="Организация";
pNewDef->DataType=ftString;

TFieldDef *pNewDef=Table1->FieldDefs->AddFieldDef();
pNewDef->Name="Адрес";
pNewDef->DataType=ftString;

Table1->IndexDefs->Clear();
Table1->IndexDefs->Add("", "Код_страны", TIndexOptions() <<ixPrimary <<ixUnique);
Table1->IndexDefs->Add("Fld2Index", "Код_города", TIndex() <<ixCaseInsensitive);
Table1->IndexDefs->Add("Fld3Index", "Номер_телефона", TIndex() <<ixCaseInsensitive);
Table1->IndexDefs->Add("Fld4Index", "Сотовый_телефон", TIndex() <<ixCaseInsensitive);
Table1->IndexDefs->Add("Fld5Index", "ФИО_Владельца", TIndex() <<ixCaseInsensitive);
Table1->IndexDefs->Add("Fld6Index", "Организация", TIndex() <<ixCaseInsensitive);
Table1->IndexDefs->Add("Fld7Index", "Адрес", TIndex() <<ixCaseInsensitive);
Table1->CreateTable();

Table1->IndexFieldNames="Номер_телефона";
Table1->SetKey();
Table1->FieldByName("Номер_телефона")-> AsString=Edit1->Text;
}


Может что пропуслит?

8.8K
06 декабря 2004 года
Nik07
5 / / 02.12.2004
Цитата:
Originally posted by kot_

Слушай ну тебе же ясно сказали - у большинства очень глюкавый релиз telepat.dll. Как я должен догадатся КАКИЕ варианты ты использовал? И откуда кто должен знать, что ТЫ пропустил? Скромнее надо быть..:)




Пробовал ниже описанные варианты:

1-й Вариант:

Table1->IndexFieldNames="Номер_телефона";
Table1->SetKey();
Tale1->FieldByName("Номер_телефона")-> AsInteger=Edit1->Text;


2-й Вариант:

Query1->Params->Items[3]->AsInteger=Edit1->Text;


3-й Вариант:

void __fastcall TForm1::RadioButton2Click(TObject *Sender)
{
Table1->Active=False;
Table1->DatabaseName="BCDEMOS";
Table1->TableType=ttParadox;
Table1->TableName="TelSpravochnik_1.db";
if(!Table1->Exists)
{
Table1->FieldDefs->Clear();
TFieldDef *pNewDef=Table1->FieldDefs->AddFieldDef();
pNewDef->Name="Код_страны";
pNewDef->DataType=ftInteger;
pNewDef->Required=true;

TFieldDef *pNewDef = Table1->FieldDefs->AddFieldDef();
pNewDef->Name="Код_города";
pNewDef->DataType=ftInteger;

TFieldDef *pNewDef=Table1->FieldDefs->AddFieldDef();
pNewDef->Name="Номер_телефона";
pNewDef->DataType=ftLargeInteger;

TFieldDef *pNewDef=Table1->FieldDefs->AddFieldDef();
pNewDef->Name="Сотовый_телефон";
pNewDef->DataType=ftLargeInteger;

TFieldDef *pNewDef=Table1->FieldDefs->AddFieldDef();
pNewDef->Name="ФИО_Владельца";
pNewDef->DataType=ftString;

TFieldDef *pNewDef=Table1->FieldDefs->AddFieldDef();
pNewDef->Name="Организация";
pNewDef->DataType=ftString;

TFieldDef *pNewDef=Table1->FieldDefs->AddFieldDef();
pNewDef->Name="Адрес";
pNewDef->DataType=ftString;

Table1->IndexDefs->Clear();
Table1->IndexDefs->Add("", "Код_страны", TIndexOptions() <<ixPrimary <<ixUnique);
Table1->IndexDefs->Add("Fld2Index", "Код_города", TIndex() <<ixCaseInsensitive);
Table1->IndexDefs->Add("Fld3Index", "Номер_телефона", TIndex() <<ixCaseInsensitive);
Table1->IndexDefs->Add("Fld4Index", "Сотовый_телефон", TIndex() <<ixCaseInsensitive);
Table1->IndexDefs->Add("Fld5Index", "ФИО_Владельца", TIndex() <<ixCaseInsensitive);
Table1->IndexDefs->Add("Fld6Index", "Организация", TIndex() <<ixCaseInsensitive);
Table1->IndexDefs->Add("Fld7Index", "Адрес", TIndex() <<ixCaseInsensitive);
Table1->CreateTable();

Table1->IndexFieldNames="Номер_телефона";
Table1->SetKey();
Table1->FieldByName("Номер_телефона")-> AsString=Edit1->Text;
}


Может что пропуслит?

259
06 декабря 2004 года
AlexandrVSmirno
1.4K / / 03.12.2004
Не идея была следующая:

TLocateOptions Opts;

Opts.Clear();
Opts << loPartialKey;
Variant locvalues[2];
locvalues[0] = Variant("Sight Diver");
locvalues[1] = Variant("P");

CustTable->Locate("Company;Contact", VarArrayOf(locvalues, 1), Opts);

И без всяких идексов. Правда это несколько медленей работает, но зато точно работает. Проверял
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог