Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

Видеокурс программиста и крэкера 5D 2O17
(актуальность: август 2O17)
Свежие инструменты, новые видеоуроки!

  • 400+ видеоуроков
  • 800 инструментов
  • 100+ свежих книг и статей

УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

БОЛЬШОЙ FAQ ПО DELPHI



Читаем файл Access используя ADO


 // Читаем файл (любой версии) 
 // Проверяем что это ACCESS MDB 
 // Нужны компаненты: 
 // TADOtable,TDataSource,TOpenDialog,TDBGrid,TBitBtn. 
 unit uMain;
 
 interface
 
 uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
 Db, DBTables, ADODB, Grids, DBGrids, ExtCtrls, DBCtrls, StdCtrls, Buttons;
 
 type
   TfrmMain = class(TForm)
     DSUsers: TDataSource;
     DBGridUsers: TDBGrid;
     BitBtn1: TBitBtn;
     OpenDialog1: TOpenDialog;
     TUsers: TADOTable;
     procedure FormCreate(Sender: TObject);
     procedure ValidateAccessDB;
     function CheckIfAccessDB(lDBPathName: string): boolean;
   private
     { Private declarations }
   public
     { Public declarations }
   end;
 
 var
   frmMain: TfrmMain;
 const
   DBNAME = 'ADODemo.MDB';
   DBPASSWORD = '123'; // Access DB Password Protected 
 
 implementation
 
 {$R *.DFM}
 
 procedure TfrmMain.FormCreate(Sender: TObject);
 begin
   validateAccessDB;
 end;
 
 procedure TfrmMain.ValidateAccessDB;
 var
   lDBpathName : String;
   lDBcheck : boolean;
 begin
   if FileExists(ExtractFileDir(Application.ExeName) + '\' + DBNAME) then
     lDBPathName := ExtractFileDir(Application.ExeName) + '\' + DBNAME
   else if OpenDialog1.Execute then
     // Set the OpenDialog Filter for ADOdemo.mdb only 
     lDBPathName := OpenDialog1.FileName;
 
   lDBCheck := False;
   if Trim(lDBPathName) <> '' then
     lDBCheck := CheckIfAccessDB(lDBPathName);
 
   if lDBCheck = True then
   begin
     // ADO Connection String to the MS-ACCESS DB 
     TUsers.ConnectionString :=
       'Provider=Microsoft.Jet.OLEDB.4.0;' +
       'Data Source=' + lDBPathName + ';' +
       'Persist Security Info=False;' +
       'Jet OLEDB:Database Password=' + DBPASSWORD;
     TUsers.TableName := 'Users';
     TUsers.Active := True;
   end
   else
     frmMain.Free;
 end;
 
 // Check if it is a valid ACCESS DB File Before opening it. 
 
 function TfrmMain.CheckIfAccessDB(lDBPathName: string): Boolean;
 var
   UnTypedFile: file of byte;
   Buffer: array[0..19] of byte;
   NumRecsRead: Integer;
   i: Integer;
   MyString: string;
 begin
   AssignFile(UnTypedFile, lDBPathName);
   reset(UnTypedFile);
   BlockRead(UnTypedFile, Buffer, High(Buffer), NumRecsRead);
   CloseFile(UnTypedFile);
   for i := 1 to High(Buffer) do
     MyString := MyString + Trim(Chr(Ord(Buffer[i])));
   Result := False;
   if Mystring = 'StandardJetDB' then
     Result := True;
   if Result = False then
     MessageDlg('Invalid Access Database', mtInformation, [mbOK], 0);
 end;
 end.
 




<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ



Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS