Назад Оглавление Дальше

DBImage, DBEdit, DBMemo на форме - для редактирования таблицы


Справочную информацию по Interbase можно найти , например на http://klog.h17.ru/interbase/

Задание:

  1. Создайте БД с таблицей vtor формата InterBase.
    Поля таблицы:
    - ID - первичный ключ,
    - OPIS - VARCHAR(200) - описание;
    - foto (BLOB) - для хранения картинок.

  2. Создайте приложение в Delphi для просмотра и изменений этой БД.

Создаю базу данных

Файл БД удобнее разместить в той же папке, что и приложение. Создаю эту папку D:\XRAN_MY_PROGS\novoros3\30_04\ Запускаю IBConsole.exe (входит в дистрибутив Делфи7).
Далее:

Создаю таблицу, используя IBConsole и SQL-запросы:

CREATE TABLE "vtor" 
( "ID"	SMALLINT NOT NULL,
  "OPIS"	VARCHAR(200) NOT NULL,
  "FOTO"	BLOB,
 PRIMARY KEY ("ID") );
Для ввода запроса - в IBConsole: Меню | Tools | Interacive SQL.
Данные в таблицу добавляю используя Делфи-проекта (который пока не создан)

Создание Делфи-проекта для работы с базой данных

Текст модуля unTab.pas

unit unTab;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DBCtrls, DB, IBCustomDataSet, IBTable, IBDatabase,
  ExtCtrls, Mask;

type
  TForm1 = class(TForm)
    DBMemo1: TDBMemo;
    DBImage1: TDBImage;
    DBEdit1: TDBEdit;
    DBNavigator1: TDBNavigator;
    IBDatabase1: TIBDatabase;
    IBTransaction1: TIBTransaction;
    IBTable1: TIBTable;
    DataSource1: TDataSource;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

end.
Возможно, будет полезно просмотреть текст файла unTab.dfm:
object Form1: TForm1
  Left = 428
  Top = 141
  Width = 471
  Height = 305
  Caption = '   Форма для работы с таблицей'
  Color = clBtnFace
  Font.Charset = RUSSIAN_CHARSET
  Font.Color = clWindowText
  Font.Height = -15
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 18
  object Label1: TLabel
    Left = 8
    Top = 11
    Width = 73
    Height = 18
    Caption = '№ записи '
  end
  object Label2: TLabel
    Left = 8
    Top = 43
    Width = 71
    Height = 18
    Caption = 'Описание '
  end
  object Label3: TLabel
    Left = 416
    Top = 5
    Width = 39
    Height = 18
    Caption = 'Фото '
  end
  object DBMemo1: TDBMemo
    Left = 8
    Top = 62
    Width = 209
    Height = 161
    DataField = 'OPIS'
    DataSource = DataSource1
    ScrollBars = ssVertical
    TabOrder = 0
  end
  object DBImage1: TDBImage
    Left = 224
    Top = 24
    Width = 233
    Height = 201
    DataField = 'FOTO'
    DataSource = DataSource1
    TabOrder = 1
  end
  object DBEdit1: TDBEdit
    Left = 88
    Top = 8
    Width = 129
    Height = 27
    DataField = 'ID'
    DataSource = DataSource1
    Font.Charset = RUSSIAN_CHARSET
    Font.Color = clRed
    Font.Height = -16
    Font.Name = 'Tahoma'
    Font.Style = [fsBold]
    ParentFont = False
    TabOrder = 2
  end
  object DBNavigator1: TDBNavigator
    Left = 8
    Top = 232
    Width = 440
    Height = 25
    DataSource = DataSource1
    Hints.Strings = (
      'В начало'
      'Назад'
      'Вперёд'
      'В конец'
      'Вставить запись'
      'Удалить запись'
      'Править запись'
      'Сохранить правку'
      'Отменить правку'
      'Освежить данные (из БД)')
    ParentShowHint = False
    ShowHint = True
    TabOrder = 3
  end
  object IBDatabase1: TIBDatabase
    Connected = True
    DatabaseName = 'DB3.GDB'
    Params.Strings = (
      'user_name=SYSDBA'
      'password=masterkey'
      'lc_ctype=WIN1251')
    LoginPrompt = False
    DefaultTransaction = IBTransaction1
    IdleTimer = 0
    SQLDialect = 3
    TraceFlags = []
    Left = 24
    Top = 152
  end
  object IBTransaction1: TIBTransaction
    Active = True
    DefaultDatabase = IBDatabase1
    AutoStopAction = saNone
    Left = 64
    Top = 152
  end
  object IBTable1: TIBTable
    Database = IBDatabase1
    Transaction = IBTransaction1
    AutoCalcFields = False
    Active = True
    BufferChunks = 1000
    CachedUpdates = False
    FieldDefs = <
      item
        Name = 'ID'
        Attributes = [faRequired]
        DataType = ftSmallint
      end
      item
        Name = 'OPIS'
        Attributes = [faRequired]
        DataType = ftString
        Size = 200
      end
      item
        Name = 'FOTO'
        DataType = ftBlob
        Size = 8
      end>
    IndexDefs = <
      item
        Name = 'RDB$PRIMARY2'
        Fields = 'ID'
        Options = [ixPrimary, ixUnique]
      end>
    StoreDefs = True
    TableName = 'vtor'
    Left = 96
    Top = 152
  end
  object DataSource1: TDataSource
    DataSet = IBTable1
    Left = 128
    Top = 152
  end
end
Скачать все файлы делфи-проекта и файл БД - DB1.GDB
Rambler's Top100
Hosted by uCoz