Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
Gamlex
0 / 0 / 0
Регистрация: 02.07.2012
Сообщений: 56
1

Создание таблицы .DBF

20.05.2013, 09:18. Просмотров 923. Ответов 2
Метки нет (Все метки)

Здравствуйте. Переделываю чужую программу, с автором связаться возможности нет. В программе при открытии создаётся таблица .dbf в корне с определённой внутренней структурой (полями). Дело в том что делается это так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
void __fastcall TForm1::OpenOutputTable()
{
 
AnsiString DivCode( ObjectDivCode->AsString );
if( DivCode.Length()==1 ) DivCode = "0" + DivCode;
AnsiString tab = Date().FormatString("yymmdd")+'_'+DivCode+".DBF";
 
if( ADOTable1->TableName == tab ) return;
 
ADOConnection1->Connected = false;
ADOConnection1->ConnectionString="Provider= Microsoft.Jet.OLEDB.4.0;Extended Properties=dBase III;Data Source="+GetCurrentDir();
 
ADOTable1->Close();
ADOTable1->TableName = tab;
if( !FileExists( GetCurrentDir()+"\\"+tab ) )
  {
  const BYTE dampdbf[]=
  {0x03,0x09,0x08,0x1c,0x00,0x00,0x00,0x00,0xc2,0x00,0x1d,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x43,0x44,0x5f,0x46,0x49,0x52,0x4d,0x41,0x00,0x13,0x00,0x43,0x90,0x5a,0x0d,0x00,0x06,0x00,0x2c,0x73,0x3c,0x69,0xb2,0x21,0x4a,0x49,0x0d,0x00,0x2c,0x73,0x4c,0x69,0x43,0x44,0x5f,0x50,0x4f,0x54,0x52,0x00,0x00,0x13,0x00,0x43,0x90,0x5a,0x0d,0x00,0x02,0x00,0x2c,0x73,0x3c,0x69,0xb2,0x21,0x4a,0x49,0x0d,0x00,0x2c,0x73,0x4c,0x69,0x43,0x44,0x5f,0x54,0x55,0x00,0x52,0x00,0x00,0x13,0x00,0x43,0x90,0x5a,0x0d,0x00,0x04,0x00,0x2c,0x73,0x3c,0x69,0xb2,0x21,0x4a,0x49,0x0d,0x00,0x2c,0x73,0x4c,0x69,0x43,0x44,0x5f,0x4d,0x41,0x4b,0x45,0x54,0x00,0x13,0x00,0x4e,0x90,0x5a,0x0d,0x00,0x01,0x00,0x2c,0x73,0x3c,0x69,0xb2,0x21,0x4a,0x49,0x0d,0x00,0x2c,0x73,0x4c,0x69,0x43,0x44,0x5f,0x44,0x41,0x54,0x41,0x00,0x00,0x13,0x00,0x4e,0x90,0x5a,0x0d,0x00,0x0f,0x07,0x2c,0x73,0x3c,0x69,0xb2,0x21,0x4a,0x49,0x0d,0x00,0x2c,0x73,0x4c,0x69,0x0d,0x00,0x1a };
  TFileStream *FMyFile;
  FMyFile = new TFileStream( tab ,fmCreate);
  FMyFile->Write( dampdbf,195 );
  delete FMyFile;
  }
 
BitBtn3->Caption = GetCurrentDir()+"\\"+tab;
 
ADOTable1->Open();
 
}
Моя задача заключается в том чтобы добавить в эту таблицу 2 поля, но как это сделать при использовании приведённого выше способа создания таблицы не пойму. Помогите пожалуйста - как добавить новые поля и что за бинарный код в константе dampdbf?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.05.2013, 09:18
Ответы с готовыми решениями:

Как узнать структуру dbf-таблицы?
подключаюсь к dbf-таблице с помощью АДО и ODBC драйвера, могу ли я узнать структуру нужной мне...

Создание dBase (*.dbf) с нуля используя ADO
Доброго времени суток всем. Среда разработки - C++ Builder XE5. Пишется программа, использующая БД...

Создание таблицы в с++
Добрый день всем! как можно сделать на с++ в билдере такую табличку? Чтобы например при нажатии...

Создание таблицы
Добрый день. Не получается связать таблицу на форме с таблицей, созданной в DataBase Desktop. Вроде...

Создание таблицы Бд с StringGrid
Здравствуйте! Мне нужна помощь в создании и заполнении таблиц в Borland C++ Builder c помощью...

2
Sasha
4924 / 2388 / 530
Регистрация: 05.06.2008
Сообщений: 7,481
Записей в блоге: 3
20.05.2013, 09:47 2
Добавить столбец в таблицу
0
Gamlex
0 / 0 / 0
Регистрация: 02.07.2012
Сообщений: 56
20.05.2013, 09:51  [ТС] 3
Спасибо! Я кажется понял. В моём случае достаточно в DatabaseDesktop добавить эти поля, потом открыть в блокноте и 16-ричное представление записать в dampdbf.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.05.2013, 09:51

Создание таблицы с идентефикатором ID
Всем добрый день. Подскажите пожалуйста как при создании таблицы SQL через С++ builder, сделать так...

Создание новой таблицы
Доброго времени суток! Я пытаюсь динамически создать таблицу и сразу же к ней подключится. Код...

Создание таблицы с паролем
Доброго времени суток. Создаю таблицу PARADOX в Builder, используя Table->CreateTable(); Скажите...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru