Использование API BDE для удаления записейDelphi , Базы данных , BDEunit Main; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, BDE, ExtCtrls, DBCtrls, Grids, DBGrids, Db, DBTables, Buttons; type TMainForm = class(TForm) AliasesList: TComboBox; TablesList: TComboBox; EmptyBtn: TBitBtn; Label1: TLabel; Label2: TLabel; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormShow(Sender: TObject); procedure AliasesListChange(Sender: TObject); procedure EmptyBtnClick(Sender: TObject); private hDB: hDBIDB; hCursor: hDBICur; DBDesc: DBDesc; TblDesc: TBLBaseDesc; public { Public declarations } end; var MainForm: TMainForm; implementation {$R *.DFM} procedure TMainForm.FormShow(Sender: TObject); var Rslt: DBIResult; begin AliasesList.Items.Clear; TablesList.Items.Clear; hDB := nil; try DbiInit(nil); // Инициализация BDE DbiOpenDatabaseList(hCursor); repeat Rslt := DbiGetNextRecord(hCursor, dbiNOLOCK, @DBDesc, nil); if (Rslt <> DBIERR_EOF) then AliasesList.Items.Add(StrPas(DBDesc.szName)); until (rslt <> DBIERR_NONE); DbiCloseCursor(hCursor); except on E: EDBEngineError do ShowMessage('Ошибка инициализации BDE'); end; end; procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction); begin try finally if hDB <> nil then DbiCloseDatabase(hDB); // Закрытие базы данных DbiExit; // Закрытие сеанса работы с BDE end end; procedure TMainForm.AliasesListChange(Sender: TObject); begin try if hDB <> nil then DbiCloseDatabase(hDB); // Закрытие базы данных DbiOpenDatabase // Открытие базы данных ( PChar(AliasesList.Text), // Псевдоним базы данных nil, // Тип базы данных dbiReadWrite, // Режим редактирования данных dbiOpenShared, // Режим разделения данных nil, // Пароль 0, // Число дополнительных параметров nil, // Перечень полей для доп. параметров nil, // Список доп. параметров hDB // Дескриптор базы данных ); DbiSetPrivateDir('c:\temp'); // Определение временного каталога DbiOpenTableList(hDb, False, False, '*.DB', hCursor); TablesList.Items.Clear; TablesList.Clear; while DbiGetNextRecord(hCursor, dbiNOLOCK, @TblDesc, nil) = dbiErr_None do TablesList.Items.Add(TblDesc.szName); DbiCloseCursor(hCursor); except on E: EDBEngineError do ShowMessage('Ошибка открытия базы данных'); end; end; procedure TMainForm.EmptyBtnClick(Sender: TObject); begin try DbiEmptyTable(hDB, nil, PChar(TablesList.Text), ''); except on E: EDBEngineError do ShowMessage('Неверно задана таблица'); end; end; end. Программный проект - это приложение Delphi, использующее BDE (Borland Database Engine) для взаимодействия с базами данных. Основная форма имеет несколько компонентов:
Приложение имеет три процедуры:
Вот некоторые улучшения и предложения:
Вот пример рефакторинга процедуры
В этом рефакторированном коде я добавил более описательные имена переменных, использовал неравномерное пространство и отступы, а также улучшил обработку ошибок. Использование API BDE для удаления записей в базе данных. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |