Таблица "Организации"
Создаю БД в 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