Таблица в c builder

Таблица в c builder

БлогNot. Редактируемый список чего-то в C++ Builder

Редактируемый список чего-то в C++ Builder

Решим типовую задачу поддержки редактируемого списка (таблицы) на основе табличной компоненты TStringGrid из библиотеки VCL. Допустим, нам нужен список со столбцами "Фамилия" (строка до 30 символов длиной) и "Показатель" (целое или вещественное число до 8 символов длиной).

Для работы с данными добавим на форму компоненту StringGrid1 с вкладки Additional , установим ей в Инспекторе Объектов следующие свойства:

Справа от таблицы расположим Panel1 и изменим ему свойства:

У самой формы можно поставить

Визуально "подровняем" таблицу и панель инструментов, добавим на панель кнопки "Добавить" и "Удалить", выйдет примерно вот что (верх окна):

В Unit1.cpp (например, перед конструктором формы) опишем глобальные данные:

На событие OnResize формы выполним код:

Panel1->ClientWidth = 250; StringGrid1->ClientWidth = Form1->ClientWidth — Panel1->ClientWidth; StringGrid1->Left = 0; Panel1->Left = StringGrid1->ClientWidth+1; Panel1->Top = 0; StringGrid1->Top = 0; Panel1->ClientHeight = Form1->ClientHeight; StringGrid1->ClientHeight = Form1->ClientHeight; StringGrid1->ClientWidth = Form1->ClientWidth — Panel1->ClientWidth; StringGrid1->ColWidths[1]=100; StringGrid1->ColWidths[0]= StringGrid1->ClientWidth — StringGrid1->ColWidths[1] — 24; //Место справа оставим на возможную вертикальную прокрутку for (int i=0;i

30.09.2014, 17:57; рейтинг: 12933

Лабораторная работа № 5

Работа с базами данных в Borland C++ Builder

Усвоение основных алгоритмов доступа к базе данных MS Access средствами Borland C++ Builder.

1. Создание базы данных данными средствами Microsoft Access

Что такое база данных

База данных представляет собой компьютерный аналог организованной информации. Обычно элементы информации объединяет общая тема или назначение, как, например, прайс-лист магазина средств связи, приведенный ниже:

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

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

Простые программы, которые хранят данные только в одной таблице (такие как Database, компонент Microsoft Work), часто называют плоскими базами данных. Более сложные программы (типа Microsoft Access) хранят информацию в нескольких связанных (related) между собой таблицах и поэтому называются реляционными базами данных. При правильной организации информации все таблицы можно трактовать как единую область памяти и извлекать из них данные в соответствии с возникающими потребностями.

Читайте также:  Конец по составу разобрать

Таблицы играют ключевую роль в базах данных, поскольку именно в них хранится информация. База данных может содержать тысячи таблиц, размеры которых ограничиваются только доступным пространством на жестком диске компьютера.

В табличном режиме содержимое таблицы отображается в виде столбцов (полей) и строк (записей), как показано ниже.

Таблицы представляют собой один из типов объектов, входящих в базу данных Access. На следующем рисунке представлено окно базы данных, где перечислены все типы объектов.

Из всех типов объектов только таблицы предназначены для хранения информации. Остальные используются для просмотра, редактирования, обработки и анализа данных — иначе говоря, для обеспечения эффективного доступа к информации.

Создание таблиц простейшим способом

Запустите приложение Microsoft Access: Программы-> Microsoft Office -> Microsoft Office Access.

Создайте новую базу данных Файл->Создать->Новая база данных. Сохраните ее под именем local.mdb.

В окне базы данных выберите Создание таблицы с помощью мастера.

В окне Создание таблиц в поле Образцы таблиц выберите Товары. С помощью кнопки > перенесите образцы полей КодТовара, Марка, НаСкладе, Заказано и Цена в Поля новой таблице. Нажмите Далее.

В следующем окне оставьте имя новой таблицы Товары. Убедитесь, что отмечен элемент Microsoft Access автоматически определяет ключ. Нажмите Далее.

В следующем окне убедитесь, что отмечен элемент Ввести данные непосредственно в таблицу. Нажмите Готово.

Заполните таблицу Товары произвольными данными. Поле Код товара имеет тип Счетчик и заполняется последовательно и автоматически. Сохраните таблицу после заполнения.

2. Работа с базами данных в Borland C++ Builder

Используя Borland C++ Builder, можно создать приложения, работающие как с однопользовательскими базами данных (БД), так и с серверными СУБД, такими как Oracle, Sybase, Informix, Interbase, MS SQL Server, DB2, а также с ODBC-источниками.

Набор данных в C++ Builder — это объект, состоящий из набора записей, каждая из которых, в свою очередь, состоит из полей, и указателя текущей записи. Набор данных может иметь полное соответствие с реально существующей таблицей или быть результатом запроса, он может быть частью таблицы или объединять между собой несколько таблиц.

Читайте также:  Подключение внутреннего жесткого диска через usb

В первых версиях C++ Builder основой работы с базами данных являлся Borland Database Engine – процессор баз данных фирмы Borland.

Ключевой механизм BDE (Borland Database Engine), обеспечивающий работу визуальных компонент баз данных, действует как интерфейс между вашим приложением и самой базой данных. BDE реализован в виде набора системных DLL файлов. Взаимодействие компонентных объектов с BDE никак не специфицирует конкретную базу данных и не зависит от реализации обмена информацией на нижнем уровне иерархии. Именно BDE обращается в свою очередь к драйверам, специфическим для базы данных указанного типа, возвращая вашему приложению запрошенные фактические данные. BDE играет роль, аналогичную контроллеру драйверов ODBC (Open Database Connectivity) производства фирмы Microsoft, изолируя приложения от нижнего уровня взаимодействия с базой данных и увеличивая общую производительность связи за счет использования кэш-памяти. Используя BDE, вы получаете доступ ко всем локальным стандартным базам данных вашего компьютера, к источникам данных ODBC и к SQL серверам баз данных в архитектуре сетевой связи клиент/сервер.

Унифицированная технология BDE применяется во всех продуктах производства корпорации Borland: C++Builder, Borland C++, Delphi, IntraBuilder и JBuilder. Чтобы получить доступ к содержимому базы данных, приложению необходимо знать только идентификатор ее псевдонима (alias).

Использование BDE не теряет своей актуальности. Но начиная с C++ Builder 5, в библиотеке компонентов появились альтернативные механизмы связи с данными, что связано с ориентацией на работу с разными платформами. Такой дополнительной возможностью является разработанная в Microsoft технология ActiveX Data Object (ADO) – пользовательский интерфейс к любым типам данных: различным базам данных, электронной почте, системным, текстовым и графическим файлам. Связь с данными осуществляется посредством технологии OLE DB.

Доступ к базам данных через ActiveX Data Object

Задание соединения компонентов ADO с базой данных

Запустите Borland C++ Builder. Перенесите на форму следующие компоненты:

DBGrid (Data Controls), ADOTable (ADO), DataSource (Data Access), Button (Standard), OpenDialog (Dialogs).

Компонент DBGrid обеспечивает табличный способ отображения на экране строк данных из компонентов Table или Query. Приложение может использовать DBGrid для отображения, вставки, уничтожения, редактирования данных БД.

Компонент DataSource действует как посредник между компонентами DataSet (Table, Query, StoredProc) и компонентами Data Controls — элементами управления, обеспечивающими представление данных на форме.

Читайте также:  Vpn с серым ip

Компонент OpenDialog является методом реализации стандартного диалога открытия файлов.

Доступ к базе данных осуществляется с помощью строки соединения – свойства ConnectionString компонента ADOTable. Нажмите на кнопку с многоточием возле этого свойства в инспекторе объектов. Откроется окно, показанное на рисунке.

Верхняя радиокнопка Use Data Link File позволяет использовать файл связи .udl. Нижняя радиокнопка Use Connection String позволяет в режиме диалога сформировать строку соединения. Отметьте эту радиокнопку и нажмите кнопку Build…

На вкладке Поставщик данных окна Свойства связи с данными вы должны указать провайдер OLE DB, который собираетесь использовать для доступа к данным. Выберите Microsoft Jet 4.0 OLE DB Provider. Нажмите Далее.

На вкладке Подключение в окне Выберите или введите имя базы данных укажите путь к базе local.mdb. Нажмите кнопку Проверить подключение и убедитесь в успешном соединении с базой.

Задайте следующие значения свойств и событий компонентов формы в инспекторе объектов:

DBGrid: Events-Data Sourse-DataSourse1;

ADOTable: Table Name-Товары;

DataSourse: DataSet-ADOTable1; Events-DataSet-ADOTable1.

Дважды нажмите на компонент Button. В обработчике кода впишите следующий код для события Button1Click:

const String ConnStr = "Provider=%s;Data Source=%s;Mode=%s";

ADOTable1->ConnectionString = Format (ConnStr, ARRAYOFCONST(("Microsoft.Jet.OLEDB.4.0",(String)Form1->OpenDialog1->FileName, "Read")));

Запустите приложение (F9). При нажатии на кнопку задается возможность указания пути к базе данных, после чего записи таблицы Товары загружаются в DBGrid.

Обработка записей базы данных

Создание новой записи в таблице

Добавьте на форму проекта компонент MainMenu (Standard). Нажмите на компонент правой кнопкой мыши и выберите в контекстном меню Дизайнер меню… Добавьте следующие пункты меню: File-> Open, New, Delete, Exit: Help-> Contents, About….

Создайте новую форму в проекте: Файл-> Новый-> Form. Разместите на ней четыре компонента Edit, четыре соответствующих компонента Label и компонент Button.

На первой форме в обработчике пункта главного меню New напишите следующий код:

void __fastcall TForm1::New1Click(TObject *Sender)

На второй форме Form2 в обработчике кода для кнопки напишите следующий код:

void __fastcall TForm2::Button1Click(TObject *Sender)

const String ConnStr = "Provider=%s;Data Source=%s;Mode=%s";

StringGrid

Компонент StringGrid (рис. П.9) представляет собой таблицу, ячейки которой содержат строки символов. Свойства компонента StringGrid приведены в табл. П.10.


Рис. П.9. Компонент StringGrid

Таблица П.10. Свойства компонента StringGrid.

Ссылка на основную публикацию
Сфера деятельности интернет провайдера
Может предоставлять услуги: Однако самыми распространенными являются услуги виртуального хостинга, регистрации доменов и VDS. Технические аспекты Задача хостинговой компании —...
Спутник вылетел за пределы солнечной системы
«Во́яджер» (англ. voyager , от фр. voyageur — «путешественник») — название двух американских космических аппаратов, запущенных в 1977 году, а...
Спутниковые системы связи курсовая работа
В данной курсовой работе рассмотрены история, особенности и перспективы развития спутниковой сети связи. Новейшие технологии спутниковой связи предлагают действенные технико-...
Сфинкс вижн форум пользователи
Здравствуйте. Сделал поиск по фильмам. Все работает, но почему то не могу сделать ранжирование поиска. Через апи поставил $sphinx->SetFieldWeights(array ('item_runame'...
Adblock detector