Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 02.07.2012
Сообщений: 66

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

20.05.2013, 09:18. Показов 1613. Ответов 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
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.05.2013, 09:18
Ответы с готовыми решениями:

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

Создание DBF - таблицы. Даты
private void barButtonExport_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if...

Копирование данных из одной таблицы dbf в шаблон dbf
Есть источник файл med.dbf с данными, необходимо перенести часть данных в файл-шаблон med.dbf. Особенность заключается в том, что в файле...

2
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
20.05.2013, 09:47
Добавить столбец в таблицу
0
0 / 0 / 0
Регистрация: 02.07.2012
Сообщений: 66
20.05.2013, 09:51  [ТС]
Спасибо! Я кажется понял. В моём случае достаточно в DatabaseDesktop добавить эти поля, потом открыть в блокноте и 16-ричное представление записать в dampdbf.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.05.2013, 09:51
Помогаю со студенческими работами здесь

Чтение таблицы dbf
Как реализовать возможность чтения dbf таблицы? Есть реализация чтения .xlsx и xls If...

Связь ACCESSа с 1 С(dbf-таблицы)
Если возможность получить доступ из ACCESS к к данным dbf-таблиц?

Импорт таблицы DBF программно
Здраствуйте! У меня есть FoxPro'ксовская база, в ней есть основополагающая таблица MAIN.dbf. В моей акцессовской базе эта таблица тоже...

Данные из таблицы dbf в Excel
Привет всем. Помогите осуществить выгрузку dbf таблицы в Excel с помощью кнопки?

Вывод таблицы из .dbf на форму
Здравствуйте, появилась небольшая проблема. Есть некий .dbf файл, в котором 7 столбцов. Не могу сообразить как можно вывести на...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru