i Ли ст и hi Hi.'?. Модуль i лавной фор мы и риложония DiroctlSDI :i !Щ ■■ J'" -J

unit Unitl;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, BDE, ExtCtrls;

type

TMainForm = class(TForm)

PriorBtn: TBitBtn;
Panel2: TPanel;
NextBtn: TBitBtn;
Label3 : TLabel;
CountryEdit: TEdit;
Labell: TLabel;
CapitalEdit: TEdit;
procedure PriorBtnClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject;
var Action: TCloseAction) ;
procedure NextBtnClick(Sender: TObject);

private

hDB: hDBIDB;
hCur: hDBICur;
CursProps: CurProps;
RecBuf: pByte;
FValue: array[0..255] of Char;
IsEmpty: Bool;
procedure OnBDEError;
public end;

var

MainForm: TMainForm; implementation {$R *.DFM}

procedure TMainForm.OnBDEError;

var Errlnfo: dbiErrlnfo; // Структура, содержащая информацию об оиибках

AStr: String; begin DbiGetErrorlnfо(True, Errlnfo);// Функция возвращает информацию об оиибке case Errlnfo.iError of

9733: AStr := 'Для создания записи недостаточно параметров';
10024: AStr := 'Оиибка доступа к данньм';
10245: AStr := 'База данных занята другим пользователем';
10038: AStr := 'Значение поля задано неверно';
11871: AStr := 1 Несоответствие типов1;

11959: AStr := 'В выражении отсутствует оператор GROUP BY'; else

AStr := 'Ошибочная операция с данными';
end;
ShowMessage(AStr);
end;
procedure TMainForm.FormShow(Sender;
TObject);
begin
hDB := Nil;
hCur := Nil;

Dbilnit(Nil); // Инициализация системы BDE

DbiOpenDatabase // Открытие базы данных (

'DBDEMOS', // Псевдоним базы данных

Nil, // Тип базы данных

dbiReadWrite, // Режим редактирования данных

dbiOpenShared, // Режим разделения данных

Nil, // Пароль

0, // Число дополнительных параметров

Nil, // Перечень полей для доп. параметров

Nil, // Список доп. параметров

hDB // Дескриптор базы данных

) ;

DbiSetPrivateDir('с:\temp'); // Определение временного каталога

DbiOpenTable // Открытие таблицы (

hDB, // Дескриптор базы данных

PChar(1 COUNTRY'), // Название таблицы

PChar(szParadox), // Тип таблицы (только для локальных БД)

Nil, // Название индекса (необязательный)

Nil, // IndexTagName - только для dBASE

0, / /0 - использовать первичный индекс

dbiReadWrite, // Режим редактирования данных

dbiOpenShared, // Режим разделения данных

xltField, // Режим трансляции данных

False, // Признак одностороннего перемецения курсора

Nil, // Дополнительные параметры

hCur // Дескриптор курсора таблицы

) ;

DbiGetCursorProps // Определение параметров курсора (

hCur, // Дескриптор курсора таблицы

CursProps // Структура параметров курсора

) ;

GetMem // Выделение памяти под буфер записи

(

RecBuf,

CursProps.iRecbufSize*SizeOf(Byte)

) ;

DbiSetToBegin(hCur); // Установка курсора в начало набора данных DbiGetNextRecord // Перемещение на первую запись

(

hCur, // Дескриптор курсора таблицы

dbiNoLock, // Режим ограничения доступа


⇐ Предыдущая страница| |Следующая страница ⇒

Программирование в Delphi 7



Новости за месяц

  • Октябрь
    2017
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс