      
    
        ,   ,       
  ,  , ,  : "    
 ".        Delphi 
.  ,  ,       
   . ,      " " 
Delphi,      .       . 
    Q       Database Form Wizard. 
    Q    bl, TDataSource  TDBEdit. 
    Q        . 
    Q  BDE   . 
    Q         . 
    Q    -. 

     

              
Delphi,       ,   
         . 
,    ,      
,     .     
(. 2.1)    Delphi,       
 . 

     2.1.         Delphi 

    		 

    	    . ,     
		     
    		  . ,      
		           
    	  ,     . , 
		     .     , 
		  ,       

     2.   19 

     . 2 

    			 

    Borland Database Engine	  DLL   ,   
		 Delphi    Borland   
              .  Borland Database Engine (BDE) 
		    ,    
		      
		.       
		 (API  Application Programming Interface),   
		         
		.      Delphi   
		  API BDE,         .
    IDAPI	       D
		(Independent Database Application Programming Interface).    
		   IDAPI     Delphi,   
		          
		         
		 Delphi, ,       IDAPI.
     BDE	    DLL,    
		 BDE   .   Delphi Client/Server  
		    Sybase SQL Server, Microsoft SQL Server, Oracle
		InterBase, Informix, DB2, Paradox, dBASE    ,  
		32-  ODBC. ,   no Delphi, 
		     BDE,    BDE,  
		    
     BDE	 ,    BDE  
		  .      
		 BDE.       
		 BDE Administrator   Delphi Databas Explorer. 
		        . ,  
		       Northwind (),   
		  Microsoft Access,       
		Orders ()    .      
		Access SQL Links,          Access.    
		    ,        
		.        BDE   BDE: 
		       ,      
		    
     SQL Links	     , 
		   BDE      /
		 Delphi Client/Server    SQL Links   
		Sybase SQL Server, Microsoft SQL Server, Oracle, InterBase, Informix DB2.  
		      Delphi,      
		   , , ,  ODBC,      
		,     
     ODBC	            
		n Database Connectivity,   Microsoft. Delphi 
		   ,   ,  
		32-  ODBC.       
		ODBC (  BDE),  - ODBC Data Source 
		Administrator,      Control Panel ( 
		) Windows 95 

    20	 1. OCHOI 

     . 2.1 

     	 

             (.. ,    
		      ) ,    
		     .    
		   Data Access   Delphi.   
		      Tdatabase, TTable  TDataSource 
    TDataset  Delphi,        
		      .    TTable, 
		TQuery  TStoredProc    TDataset,    
		     "  TDataset" 
    TTable  Delphi,       
		  .        
		  TableName  bl 
    TQuery  Delphi,    ,   
		  SQL 
    TStoredProc  Delphi,    
		  SQL,     , 
		   
          
 		    (.. ,    
		  ) ,    
		 ,     ,  
		    ,    
		.       Data Controls  
		 Delphi.         
		    , ""   
		.     TDBGrid, TDBNavigator  TDBEdit 
    TDataSource  Delphi,      
		   Tdataset       
		.          
		TDataSource,  ,   ,     Tdataset 
    TField  Delphi,       . 
		   Delphi    , 
		, ,  TStringField  TIntegerField.  TField, 
		  ,  ,       TDataset 


        Delphi 

    ,      ,    
. ,    Delphi,     
     Borland Database Engine (BDE).  
   ,    Paradox  dBASE, BDE 
    .    
 ,  Oracle  Sybase, BDE    , 
  SQL Links  ODBC.   ,   , 
   ,   .  
   . 2.1. 
       .      
    TDataSource.     
   

     2.    21 

TDataSource,          
  .          
  TDataSource, ,   ,   
     TDataset.    
    TDataset    TDataSource.  
. 2.2   . 

    . 2.1.  Delphi       ,  
      

    . 2.2.        , 
  Delphi 

    ,      , 
     ,     
 .     BDE  
  ,    
       .  
,         
    . 
    ,          
 Delphi,     ,  
    .    
   : "     , 
     ?        
?       ?"      
,      Delphi. 

    Q  TDatabase        . 
        , 
          
Delphi,  .  ,   TDatabase  
 . 
    Q   ,       , 
  TSession.      
  -

    22  I.  

 ,       
     .      
 ,    ,   TSession  
  .      Delphi  
   TSession (      
 Session).     ,   
  Windows 95 ,   ,   , 
         . , 
   -        
,   TSession,    . 
    Q  TQuery  TStoredProc      , 
     SQL     
 .         
 ,   Delphi TTable. 
    Q              
      TTable.   
,  TTable       
  Delphi.           
   ,     . 
    Q ,    Data Controls  , 
 ,     ,  
.           
.       
      Windows,  
  ,  ,      , "" 
  .   ,    
     .    
    ,    
  , , ,  TTable,    
     . 
    Q   TDataset (, TTable, TQuery  TStoredProc) 
    ,         
  ,   TDBEdit.     
     TDataSource,    
.  ,     ,   
TDBEdit,       TDataset,   
 TDataSource, ,   ,   
 TDataset. 
    Q ,      ,     
 : 
    TTable, TDataSource       (TDBEdit, TDBMemo  ..). 


       


    ,         Delphi, 
       .   
 ,  ,        
Delphi   . 
          Delphi    . 
     ,    
         .   
    Database Form Wizard,    
  .     .      
Delphi,      . 

     Database Form Wizard 

               
  .    Database=>Form Wizard,   
  Database Form Wizard. 
         (. 2.3)  ,    
   (Create a simple form)    
"-" (Create a master/detail form),     
     TTable    TQuery.  
   ,   ,    
 Next. 
        (. 2.4)     , 
      .    
 DBDEMOS    Drive or Alias name.   
        

     2.   23 

   .     DBDEMOS,    
Table Name     ,   BDE  
.      BIOLIFE,    
 . 

    . 2.3.           

    . 2.4.  ,       

    24  I.  

        (. 2.5)     
 BIOLIFE.     ,     
,     >,      >>   
 .     ,    >>    
 Next. 

    . 2.5.      

         (. 2.6)     
    .    
(Horizontally),  (Vertically)   (In a grid) . 
    ,   
,     Next. 
    ,  ,       
    (. 2.7).   ,   
    ,   Generate a main form. 
    Delphi  ,    
   .     
 ,       
. ,        
,         
  . 
     ,         
,       (Form Only)  ,  
,     (Form and DataModule).   
     .   Finish,  
   ,    (. 2.8)   
  Delphi. 
       . 2.8,        
  ,   b  TDataSource. 
      ,        .   
   <F9>      .  
     ,      ,  
            
,    . 2.9. 

     2.   25 

    . 2.6.        

    . 2.7.      


     I.  26


    . 2.8.  ,    

    . 2.9.  ,     


     2.   27 

       ,      
BIOLIFE     ,      
 .   ,      
 DBNavigator,       
  ,   ,     . , 
        + ,   
     -.      
       .     
           "". 
 ,   ,     
  BIOLIFE. 
       ,  ,     Delphi. 

      
    ,     Database Form Wizard,   
    ,   Delphi.    ,  
,          
    Database Form Wizard   
       Delphi. 


       

       ,       
 .    b,    ( 
     ).  ,  <F11> 
      .    
        (. 2.10).   
  DatabaseName.      
,       BDE DBDEMOS.  
  ,    ,  
    TableName.      
,           BIOLIFE. 

    . 2.10.   bl 


    28  I.  

         TDataSource.     
     bl.     TDataSource  
  . 
        bl,    TDataSource  
    (. 2.11). -,   DataSet  
        Table1,   
     bl .  ,  
,   TDataSource     
  ,   Table1,   
  bl,      . 
    -,     AutoEdit.     
True (  ),   TDataSource  
   .  ,  ,   
      ,    
    . 

    . 2.11.   TDataSource 

    ,     ,  
      .     
TDBEdit ,   ,       
TDBEdit.    ,  <F11>,     Object Inspector. 

     
      ,       .  
       <Shift>   
     .      
 <Ctrl>        
.   ,  ,   ,  
  ,  . 

      TDBEdit,       bl  
TDataSource,     .    
 DataSource.        .   
         TDataSource 
.   ,  ,        


     2.   29 


 ,       
  DataSource1.  ,  ,   
DataField.       ,    
  . 
    ,       bl, TDataSource  
TDBEdit,     .  bl   
    .   TDataSource   
   bl       
   .   ,   
 TDBEdit,     TDataSource   
  .  ,  Delphi   
     . 
             
TDataSource. ,  ,  .    
         TDataSet. 
,      TDataSource    
   DataSet       
   TDataSet.       
 TDataSet   ,     ? 
     TDataSource,     
   DataSet       
  .   . 
    ,   : "        
      DataSource   ". , 
     .      
   ?   ,       
  . , ,  Delphi,    
   . 

        

         ,   
  ,      .  
 " "   . 
    1.  ,       
.      Form1      . 
    2.      Panel.      
       Align  alTop.   
,   ,       
  ,     . 
    3.            
 Align  alClient.    ,     
   ,    ,     
 . 
    4.      ,      . 
       <F11>,     Object 
Inspector.          Caption 
   . 
     . 2.12          
 Caption. 
    5.        .   
 ,         , 
    .       
TScrollBox,    ,    
        . 
  TScrollBox    ,    
Align  alClient. 
     . 2.13         
 . 
     "",       .  
      bl  TDataSource.   
   Data Access   Delphi.    
         . 
 ,         
  . ,      ,  
  ,        , 
   . 

    30  I.  

    . 2.12.   Object Inspector    Caption   

    . 2.13.      


     2.   31 

       DatabaseName  Table1   
BDE DBDEMOS,    TableName     BIOLIFE.DB. 
       DataSet  TDataSource    
    Table1.       
     ,     
 TDataSource. 

     
         DataSet  TDataSource,  
 Delphi       bl 
.          TDataSet 
(..  Table1), Delphi       DataSet 
 TDataSource    Table1   
  . 

     . 2.14   TTable  TDataSource,   . 

    . 2.14.      

        ,     
     .     
      Windows,  
   ,  ""     
. ,  TEdit Delphi     
.  "",     ,  TDBEdit 
    TEdit.      
   ,   TDBEdit ""  
 ,        . 
           ,   
  ,    .    
  TDBNavigator,     Data 
Controls   Delphi.   TDBNavigator  
  ,        DataSource 
    TDataSource  (. 2.15). 
       ,       
     .      
 .    ,    .  
     ,  

    32  I.  


     ,   TDBEdit, TDBMemo  
..,     DataSource  DataField    
.    ,      
TLabel,        . 
   , ,  , ,   
,          
  . 

    . 2.15.      

     ,  ,      
 TField    .     
  ,  Delphi      
          .   
   ,   . 
    1.     bl,     . 
    2.            
    Add fields. 
    3.          ,  
    . 
    4.          .  
   ,       TField  
    TLabel,   . 
        ,   . 2.16. 
    ,    .     
 ,   Database Form Wizard    .
,     ,      
      Delphi. 
    ,   ,   ,     
   ,   bl.   
   . -,       
  Active  bl   True.   
           
    . -,   
  OnCreate  OnShow ,  


     2.   33 
    2 Delphi 3   / 

  ,       
  .         
  OnCreate,       
 . 

    . 2.16.          
   

             
OnCreate ,       .  
<F11>,         ,  
   ,      , 
 Form1,   .    Events  
     OnCreate.    
   : 

    Table1.Open; 

            OnCreate 
       .    
     ,     
    Project Options. 

         

     ,     ,  ,  
     .        
,       ,   
  .    . 
    1.    Delphi   Project=>Options. 
    2.   Forms   Options,    
  Main form    Form1.    
    . 
    3.    ,    . 
          ,  <F9>, 
       .   
 ,      ,  
      . 2.17. 

    34  I.  


    . 2.17.         
   ,  ,    Delphi. 


        

    ,          
 ,       .    
        
 ,        . 
          . 
    Q     TDatabase. 
    Q   BDE. 
    Q   . 
    Q    "". 
    Q    TQuery. 
    Q  . 

     TDatabase 

      TDatabase       
,       
    . ,     
,      TransIsolation 
 TDatabase.      
          
  OnLogin .      
   TDatabase        Params. 

     2.   35 

      ,    TDatabase   
Form1   . 
    1.   TDatabase   Data Access   
Delphi    .      bl  TDataSource, 
   TDatabase     .  
  ,        
  . 
    2.      AliasName  TDatabase 
 DBDEMOS,       . 
    3.     DatabaseName  dbTest.   
 ,         
TDatabase.  ,     TDatabase  
 TTable,      DatabaseName  
TTable  ,        
DatabaseName  TDatabase. 
    4.   TDatabase,    TTable.  
    Object Inspector   ,   
    Database Name  TTable.    
 ,        dbTest.   
 ,       .    
          , 
  TDatabase.  . 2.18    
    TDatabase. 
    5.   ,   ,      
   . 

    . 2.18.          
    TDatabase 


     BDE 

       Delphi  Database Explorer    
 .         
BDE.    ,    Delphi,  
       BDE. 

    36  I.  

         "".      
     -     - . 
,       ,  
 BDE      .   
    ,    
 BDE        . 
             
 DBDEMOS,     Delphi    
     .     ,  
   BDE.       
  ,  ,  ,      
  Delphi. 
        BDE   . 
    1.    Delphi   Database=>Explore,  
 Database Explorer.    Database Explorer,  
 -     SQL Explorer, ,  
     ,    ,   
   Database Explorer.    ,    
   SQL Explorer ,      
, .. Database Explorer. 
    2.    Databases,    ,     
 Databases. 
    3.          Database 
      New. 
    4.   New Database Alias,      
       BDE.     
       Paradox,  
 Standard     . 
    5.        .  
PDOXDEMO   <Enter>. 
    6.    Path,    ,   
      Delphi (, D:\Program 
Files\Borland\Delphi 3\Demos\Data),    <Enter>. 

      
            Delphi, 
    DBDEMOS.        
     .   
   ,  ,   
,    . 

    7.     Apply,     
Database Explorer.       , 
   .        . 
     . 2.19         
 .    BDE,     .   
  . 
    1.   Database Explorer       Delphi. 
    2.    TDatabase,    <11>,   
  Object Inspector. 
    3.    AliasName  Databasel,   
      . 
    ,      Object Inspector,   
. 2.20.       .   
  , ,   ,     Paradox 
BIOLIFE.    ,      Delphi. 

     2.   37 


    . 2.19.    

    . 2.20.  TDatabase     BDE 


     I.  


      

          ,   
  ,      
 .          
          
 .         ,  
       Delphi . 
       ,    
,    ,        
 .         
 Delphi,       .    
      ,   
          
 Delphi   Object Repository. 
    ,   File=>New Data Module.   ,  
    .   ,  
            
   . 
         ,   
    ,       .  
         
  ,    . 
      bl, TsDataSource  TDatabase,    
Form1,   <Ctrl+X>,       Windows.  
       <Ctrl+V>,    
      .  . 2.21   
         . 

    . 2.21.       , 
    

            
.           BIOLIFE 
        ,   
   . , ,  TDBEdit   Formi 
    TDataSource ,      
 .    TDataSource   ,   
  Delphi  . ,    ,  
   . 

     2.   39 


     
       ,      TTable, 
TDataSource  TDatabase,       ,   
""    .    <Ctrl+V>     
   , ,   ,   
   .        
           
         . 

     ,   ,     Form1
  ,         
  uses   Form1.      
""   .       
BIOLIFE,   File=>Use Unit,        
  (     ,   
  Unit3).         
   Form1,         . 
      ,     ( 
TDBNavigator),   <F11>,     Object Inspector.   
          DataSource 
     TDataSource  .    . 
2.22,        . 

    . 2.22.       

     ,  , ,      
OnCreate ,    bl   .  
   Table1   .  <F11>    
 Object Inspector,        . 
   Events,   OnCreate      
.       : 

    Table1.Open; 


    40  I.  

            Table1,   
     .    
  : 

    DataModule3.Table1.Open; 

            
     , ,    . 
 ,    ,   ,    
 .     ,      
Open  Table1      .  
        .  
       .    
           
         
.           . 
      Tablel.Open;    OnCreate   
   .         
 TTable.  <F11>,        
,      Active  Tablel.    
  ,   .   ,  
. 
     ,  ,    ,  
   .   ,    
  Delphi. 
             
Delphi.    ,  ,    
         ""   
  ,       
          . 
           (,   
    -   )   
    Add To Repository.   
  (. 2.23),       (Title)  
 (Description)  .     dmBIOLIFE 
 -    ,     
BIOLIFE.   Page   Data Modules ,     
 Author,    . 

    . 2.23.   Add To Repository 


     2.   41 


      
           ,    
    Object Repository.      
    ,  ,     
      .     
   ,    Add To 
Repository   Browse. 

           ,    
Delphi       ,    
   .    Yes       . 
       dmBIOLIFE   ,   
       ,   
 BIOLIFE. 

       "-" 

      "-",  ,    
    .       
   ,        
. ,          
,          .  
        
       .  
        
(OLTP  Online Transaction Processing). 
               
"",       . 
     CUSTOMER  ORDERS    
 Delphi. 
     ,         
  TQuery.      ,  
    bl.     
""    TQuery. 
         (    Delphi  
Database=>Form Wizard).       
 Create a master/detail form  Create a form using TQuery objects 
(. . 2.3),      Next. 
         (. . 2.4)   Drive or Alias name 
    PDOXDEMO      
CUSTOMER.DB   Table Name.        
  Delphi   CUSTOMER,   
 Paradox. 
             CUSTOMER,  
   .    >>,    ,  
    Next. 
        ,      
       .    
Next,     ,   . 
       ,   .   
           
   .     ORDERS,  
       . 
        ,       
     .     >>, 
   ,     Ordered Selected Fields   
CustNo     <,      (. 2.24).  
  CustNo        ,  
         ,  
  .    Next  . 

     
               . 
            
   ,    Ordered Selected Fields, 


    42  I.  


    . 2.24.   ,    CustNo 

         ,      
     .     
    (In a grid).    Next, 
        . 
       (. 2.25)      ,  
         .   
         
.            
 CustNo,    .      
    CustNo,      Add.    
. 2.25,   Joined Fields    .   
   ,    Next  . 
             
      (. . 2.7).   , 
   Finish,        
     .  . 2.26    
     Delphi. 
             , 
   ,   Database Form Wizard.  
          
"". 
       TQuery,      
,  <F11>,    Object Inspector,   
     SQL.  ,   
 SQL    Delphi,    Code Editor.  
. 2.27   ,      . 
      SQL    CUSTOMER.DB    
  .          
,           ,    
        .     
     WHERE,      
.   SQL,  <Ctrl+F4>,    . 

     2.   43 


    . 2.25.     CustNo 

    . 2.26.    "" 


    44  I.  


    . 227.  SQL,        
    CUSTOMER 

         ,    SQL, 
     .    
 TQuery,           
   SQL  .     
 SQL. 

    Select 
    ORDERS. "OrderNo", 
    ORDERS. "SaleDate", 
    ORDERS. "ShipDate", 
    ORDERS. "EmpNo", 
    ORDERS. "ShipToContact", 
    ORDERS. "ShipToAddrl", 
    ORDERS. "ShipToAddr2", 
    ORDERS. "ShipToCity", 
    ORDERS. "ShipToState", 
    ORDERS. "ShipToZip", 
    ORDERS. "ShipToCountry", 
    ORDERS. "ShipToPhone", 
    ORDERS. "ShipVIA", 
    ORDERS. "PO", 
    ORDERS. "Terms", 
    ORDERS. "PaymentMethod", 
    ORDERS. "ItemsTotal", 
    ORDERS. "TaxRate", 
    ORDERS. "Freight", 
    ORDERS. "AmountPaid", From "ORDERS.DB", As ORDERS Where 
    "ORDERS"."CustNo" =:"CustNo" 

         SQL    WHERE. 
          ORDERS  
 ,    CustNo  ,  
  :CustNo.   ,    ? 

     2.   45 

         ,    Object Inspector  
    DataSource  Query2,    
     .     
      DataSource  TQuery, 
    .  ,    
  CustNo  Query1 (,     
 ),  Query2     , 
     CustNo.    Delphi 
         
   ,      . 

    . 2.28.      "" 

           ,    
.  . 2.28   ,      . 
      ,      Delphi. 

     

              Delphi  
       ,    . 
   ,        
.    ,         
      Delphi.    
     . 

     ... 

            , 
    Delphi   /.   
3, " ",        
 /,    Delphi. 

    46  I. 