Создание таблицы с автоинкрементальным полем - Таблицы - Базы данных в Delphi - Каталог статей - Mvi - развлечения Допустим у вас имеется форма с кнопкой. Щелчок на кнопке с помощью DbiCreateTable должен создать таблицу Paradox с автоинкрементальным (приращиваемым) полем.

>
Пятница, 30.07.2010, 17:27
Музыка, видео, игры - MVI
Главная | Каталог статей | Регистрация | Вход
Меню сайта
Категории каталога
ADO [15]
ASCII и CSV [12]
Access [19]
Alias [24]
BDE [37]
BLOB поля [19]
Clipper [2]
DB2 [2]
DBASE и DBF [26]
Fox Pro [1]
Interbase [21]
MSSQL [13]
ODBC [10]
Oracle [19]
Paradox [28]
SQL [30]
Sybase [1]
База данных [31]
Закладки [2]
Записи [19]
Индексы [10]
Компоненты и Базы данных [11]
Модуль данных [3]
Отчеты [3]
Ошибки БД [17]
Поиск [17]
Поля [36]
Сортировка и Фильтр [6]
Таблицы [39]
Мини-чат
Наш опрос
Как Вы думаете, какой раздел сайта нужно развивать?
Всего ответов: 192
Главная » Статьи » Базы данных в Delphi » Таблицы

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

Допустим у вас имеется форма с кнопкой. Щелчок на кнопке с помощью DbiCreateTable должен создать таблицу Paradox с автоинкрементальным (приращиваемым) полем.


unit Autoinc;

interface

uses
SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
Forms, Dialogs, DBTables, DB, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls,
DbiTypes, DbiErrs, DBIProcs;

const
szTblName = 'CR8PXTBL'; { Имя создаваемой таблицы. }
szTblType = szPARADOX; { Используемый тип таблицы. }

{ При создании таблицы используется полное описание поля }
const
fldDes: array[0..1] of FLDDesc = (
(
{ Поле 1 - AUTOINC }
iFldNum: 1; { Номер поля }
szName: 'AUTOINC'; { Имя поля }
iFldType: fldINT32; { Тип поля }
iSubType: fldstAUTOINC; { Подтип поля }
iUnits1: 0; { Размер поля }
iUnits2: 0; { Десятичный порядок следования ( 0 ) }
iOffset: 0; { Смещение в записи ( 0 ) }
iLen: 0; { Длина в байтах ( 0 ) }
iNullOffset: 0; { Для Null-битов ( 0 ) }
efldvVchk: fldvNOCHECKS; { Проверка корректности ( 0 ) }
efldrRights: fldrREADWRITE { Права }
),
(
{ Поле 2 - ALPHA }
iFldNum: 2; szName: 'ALPHA';
iFldType: fldZSTRING; iSubType: fldUNKNOWN;
iUnits1: 10; iUnits2: 0;
iOffset: 0; iLen: 0;
iNullOffset: 0; efldvVchk: fldvNOCHECKS;
efldrRights: fldrREADWRITE
));

type
TForm1 = class(TForm)
Button1: TButton;
Database1: TDatabase;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var
TblDesc: CRTblDesc;
uNumFields: Integer;
Rslt: DbiResult;
ErrorString: array[0..dbiMaxMsgLen] of Char;
begin
FillChar(TblDesc, sizeof(CRTblDesc), #0);
lStrCpy(TblDesc.szTblName, szTblName);
lStrCpy(TblDesc.szTblType, szTblType);
uNumFields := trunc(sizeof(fldDes) / sizeof(fldDes[0]));
TblDesc.iFldCount := uNumFields;
TblDesc.pfldDesc := @fldDes;

Rslt := DbiCreateTable(Database1.Handle, TRUE, TblDesc);
if Rslt <> dbiErr_None then
begin
DbiGetErrorString(Rslt, ErrorString);
MessageDlg(StrPas(ErrorString), mtWarning, [mbOk], 0);
end;
end;

end.
Категория: Таблицы | Добавил: mvi (01.11.2008)
Просмотров: 177 | Рейтинг: 0.0/0 |
Всего комментариев: 0

При копировании материалов данного сайта, ссылка на него обязательна!

Имя *:
Email:
Код *:
Форма входа
E-mail:
Пароль:
Поиск
Друзья сайта
Анекдоты
Реклама
Статистика


Рейтинг@Mail.ru

Онлайн всего: 2
Гостей: 2
Пользователей: 0
Copyright MyCorp © 2010 Хостинг от uCoz