Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание таблицы в C++ Builder 6 в самой программе, Создание таблиц  
:(
    Опции темы
lordrus
Дата 4.5.2010, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 4.5.2010

Репутация: нет
Всего: нет



пробывал использовать код, но выдает ошибку об индексации

Код


TTable* Table2= new TTable(this);
Table2->DatabaseName="";
Table2->TableName="nomer2.db";
Table2->TableType=ttParadox;
Table2->FieldDefs->Clear();
Table2->IndexDefs->Clear();
TFieldDef* NewFieldDef=Table2->FieldDefs->AddFieldDef();
NewFieldDef->Name="ItemNo";
NewFieldDef->DataType=ftAutoInc;
NewFieldDef=Table2->FieldDefs->AddFieldDef();
NewFieldDef->Name="Item";
NewFieldDef->DataType=ftString;
NewFieldDef->Size=50;
NewFieldDef->Required=true;
NewFieldDef=Table2->FieldDefs->AddFieldDef();
NewFieldDef->Name="Category";
NewFieldDef->DataType=ftInteger;
NewFieldDef->Required=true;
NewFieldDef=Table2->FieldDefs->AddFieldDef();
NewFieldDef->Name="Description";
NewFieldDef->DataType=ftString;
NewFieldDef->Size=100;
NewFieldDef=Table2->FieldDefs->AddFieldDef();
NewFieldDef->Name="Index";
NewFieldDef->DataType=ftString;
NewFieldDef->Size=5;
NewFieldDef->Required=true;
NewFieldDef=Table2->FieldDefs->AddFieldDef();
NewFieldDef->Name="Price";
NewFieldDef->DataType=ftCurrency;
NewFieldDef->Required=true;
TIndexDef* NewIndexDef=Table2->IndexDefs->AddIndexDef();
NewIndexDef->Name="<Primary>";
NewIndexDef->Fields="ItemNo";
NewIndexDef->Options=TIndexOptions() << ixUnique;
NewIndexDef=Table2->IndexDefs->AddIndexDef();
NewIndexDef->Name="ItemNDX";
NewIndexDef->Fields="Item";
NewIndexDef->Options=TIndexOptions() << ixUnique;
Table2->CreateTable();
delete(Table2);


Помогите исправить этот код или подскажите другой

PM MAIL   Вверх
Данкинг
Дата 4.5.2010, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Более конкретно вопрос можно сформулировать? В каком месте и какая ошибка? Сама таблица создаётся? При чём там индексация?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
lordrus
Дата 4.5.2010, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 4.5.2010

Репутация: нет
Всего: нет



таблица не создается выдает ошибку 

user posted image
Как исправить этот код что бы он создавал таблицу програмно, или подскажите другой

PM MAIL   Вверх
Данкинг
Дата 4.5.2010, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Попробуй для начала убрать индексы и всё, что с ними связано (все TIndexDef).


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
lordrus
Дата 4.5.2010, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 4.5.2010

Репутация: нет
Всего: нет



Спасибо за советы!!!исправил сам, ошибка была только в одном слове

Код

NewIndexDef->Name="<Primary>";
NewIndexDef->Fields="ItemNo";
NewIndexDef->Options=TIndexOptions() << ixPrimary;


в начальном варианте было   "ixUnique"
PM MAIL   Вверх
lordrus
Дата 13.5.2010, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 4.5.2010

Репутация: нет
Всего: нет



создаю таблицу при помощи кода:

Код


 ifstream input_file("название.txt");

   while (! input_file.eof()) 

   { 
      input_file >> word; 
      cout << word << endl; 
   }

AnsiString str1;
str1=word;
TTable* Table2= new TTable(this);
Table2->DatabaseName="C:\Tables";
Table2->TableName=str1;
Table2->TableType=ttParadox;
Table2->FieldDefs->Clear();
Table2->IndexDefs->Clear();
TFieldDef* NewFieldDef=Table2->FieldDefs->AddFieldDef();
NewFieldDef->Name="№ соревнования";
NewFieldDef->DataType=ftAutoInc;
NewFieldDef=Table2->FieldDefs->AddFieldDef();
NewFieldDef->Name="№ дистанции";
NewFieldDef->DataType=ftInteger;
NewFieldDef->Required=true;
NewFieldDef=Table2->FieldDefs->AddFieldDef();
NewFieldDef->Name="Тип дистанции";
NewFieldDef->DataType=ftString;
NewFieldDef->Size=50;
NewFieldDef->Required=true;
TIndexDef* NewIndexDef=Table2->IndexDefs->AddIndexDef();
NewIndexDef->Name="<Primary>";
NewIndexDef->Fields="№ дистанции";
NewIndexDef->Options=TIndexOptions() << ixPrimary;
NewIndexDef=Table2->IndexDefs->AddIndexDef();
NewIndexDef->Name="ItemNDX";
NewIndexDef->Fields="№ соревнования";
NewIndexDef->Options=TIndexOptions() << ixUnique;
Table2->CreateTable();


Как програмно  связать эту таблицу со второй таблицей "glav" с первичным индексом поля "№ соревнования"! Буду очень признателен за подробное описание, а то мне нужно еще несколько различных таблиц создать в програме и подключить их в дальнейшем.

Заранее ОГРОМНОЕ СПАСИБО!!!

Это сообщение отредактировал(а) lordrus - 13.5.2010, 21:46
PM MAIL   Вверх
Kasiro
Дата 8.11.2010, 00:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 109
Регистрация: 11.7.2010

Репутация: нет
Всего: -1



lordrus, что ты имеешь ввиду под "связать"?
сделать связи как в акцессе? если да то тут такого небывают, такие связи будешь делать в запросах с помощью inner join, left, right join и др.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C++: Базы данных"
chipset

Данный форум предназначен для обсуждения вопросов прямым образом связанных с C++ и БД. Так, вопросы только по C++ следует задавать в C++:Общие вопросы а вопросы по абстрактным БД в Базах данных или в соответствующих под-форумах.

Благодарим за понимание.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, chipset.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Базы данных | Следующая тема »


 




[ Время генерации скрипта: 0.0541 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.