Таблица "Организации"
Создаю БД в C:\DB1\ORGAN.GDB . Запускаю IBConsole.exe . Далее:
--- Метаданные: --- SET SQL DIALECT 3; /* CREATE DATABASE 'C:\DB1\ORGAN.GDB' PAGE_SIZE 4096 DEFAULT CHARACTER SET WIN1251 */ /* Table: SPISOK, Owner: SYSDBA */ CREATE TABLE "SPISOK" ( "KOD" SMALLINT NOT NULL, "NAZVAN" VARCHAR(30) CHARACTER SET WIN1251, "VID_SOBSTV" VARCHAR(20) CHARACTER SET WIN1251, "NOMLICENZ" INTEGER, "DATLICENZ" TIMESTAMP, "VID_DEAT" VARCHAR(50) CHARACTER SET WIN1251, "FOND" NUMERIC(9, 0) NOT NULL, PRIMARY KEY ("KOD") ); /* Grant Roles for this database */ /* Grant permissions for this database */
- IBDatabase1, IBTransaction1, - для работы с БД, - IBTable1, DataSourse1, DBGrid1, DBNavigator1 - для работы с таблицей (просмотр, редактирование). - IBQuery1, DataSourse2, DBGrid2 - для просмотра результатов запросов.
IBDatabase1.DefaultTransaction = IBTransaction1, IBTransaction1.Default = IBDatabase1, IBDatabase1.Connected = true; IBTransaction1.Active = true; IBTable1.Database = IBDatabase1; DataSourse1.DataSet = IBTable1; DBGrid1.DataSourse = DataSourse1; DBNavigator1.DataSourse = DataSourse1; IBQuery1.Database = IBDatabase1; DataSourse2.DataSet = IBQuery1; DBGrid2.DataSourse = DataSourse2; IBQuery1.SQL = SELECT KOD as "Код", NAZVAN as "Название", FOND as "Фонд" FROM SPISOK Примечание: в этом проекте изменения записываются в БД при щелчке по кнопке "Записать". Можно настроить DBGrid1, чтобы заголовки колонок были русскими и центрированными. Для этого: - двойной щелчок по DBGrid1. (или правый щелчок и выбрать: Columns Editor) - В появившемся окне "Editing DBGrid1.Columns" - правый щелчок и выбрать: Add (добавить) или нажать клав Insert - будет добавлена колонка DBGrid1 (все, которые были раньше - удаляются), а в инспекторе объектов откроется доступ к настройке этой колонки. Необходимо выбрать FieldName (из списка), например, NAZVAN, затем раскрыть пункт Title (заголовок) и вписать значение Caption (например, Название). Здесь можно также настраивать шрифт (заголовка и самой колонки), выравнивание и многое другое.
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, DBCtrls, DB, IBDatabase, IBCustomDataSet, IBTable, Grids, DBGrids, StdCtrls, Menus, IBQuery; type TForm1 = class(TForm) DBGrid1: TDBGrid; IBTable1: TIBTable; IBDatabase1: TIBDatabase; IBTransaction1: TIBTransaction; DataSource1: TDataSource; DBNavigator1: TDBNavigator; Button1: TButton; MainMenu1: TMainMenu; DBGrid2: TDBGrid; IBQuery1: TIBQuery; DataSource2: TDataSource; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; Label1: TLabel; procedure Button1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure N3Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin IBDatabase1.Connected:= false; IBDatabase1.Connected:= true; IBTransaction1.Active:= true; IBTable1.Active:= true; IBQuery1.Active:= true; end; procedure TForm1.N2Click(Sender: TObject); var vidd: string; begin IBQuery1.Active:= false; IBQuery1.SQL.Clear; vidd:= InputBox('Выберите из таблицы вид деятельности', 'Введите вид деятельности', 'торговля'); IBQuery1.SQL.Append ('SELECT NAZVAN as "Название", '+ 'VID_SOBSTV as "Вид собств.",NOMLICENZ as "№ лиценз.", '+ ' FOND as "Фонд"'); IBQuery1.SQL.Append ('FROM SPISOK '); IBQuery1.SQL.Append ('WHERE VID_DEAT = '''+vidd+''''); IBQuery1.Active:= true; end; {STARTING WITH} procedure TForm1.N3Click(Sender: TObject); begin IBQuery1.Active:= false; IBQuery1.SQL.Clear; IBQuery1.SQL.Append ('SELECT VID_SOBSTV as "Вид собств", '+ 'COUNT(KOD) as "Кол-во", AVG(FOND) as "Средн.фонд"'); IBQuery1.SQL.Append ('FROM SPISOK '); IBQuery1.SQL.Append ('GROUP BY VID_SOBSTV'); IBQuery1.Active:= true; end; end.Скачать все файлы делфи-проекта и файл БД - ORGAN.GDB