, ;
.
, Delphi, :
ODBC - ODBC- BDE-;
OLE DB - (OLE DB - COM-);
dbExpress, ;
.
, ODBC-, :
( ) ( TDataSet) , DatabaseName. : , ( ). .
( ) (TDataSourse), , . DataSet TDataSourse , TTable TQuery. , ( File | Use unit).
, TDBGrid, TDBEdit, TDBCheckbox. , DataSource. DataField.
Delphi :
. 76. C Delphi
TDataSet. - TField ( ).
- , . , .
, , :
TTable, TQuery, TStoredProc - , BDE. TQuery ;
TClientDataSet - , ;
TADODataSet - , ADO-;
TSQLDataSet - dbExpress. , . , Next First. SQL- UPDATE ;
|
|
TSQLTable TSQLQuery - dbExpress.
VCL:
. 77. VCL
:
TTable - DatabaseName TableName;
TQuery - SQL , , DatabaseName.
, .
:
Active True (, Table1.Active:= True;) ;
Open (, Table1.Open;).
, Close Active False. TQuery Open : .
:
BeforeOpen AfterOpen;
dsBrowse;
.
, dsInactive, .
, . , , TDatabase TADOConnection. " " TDatabase BDE ODBC-. TADOConnection "" OLE DB, ADO- VCL-.
. , . , . , CachedUpdates True . ApplyUpdates, - CancelUpdates.
VCL
TDATASET
TDataSet , , :
Active - , , ;
|
|
CurrentRecord - , ;
DataSource - , ( , - );
Bof - , , ;
Eof - , , ;
Bookmark - , . . TDataSet.GetBookmark TDataSet.GotoBookmark, ;
FieldCount - , ;
Fields - , .
:
Table1.Edit; //
Table1.Fields.Fields[6].AsString:= Edit1.Text;
Table1.Post; //
Fields :
.
:
var S: String;
begin
S:= Fields[0].FieldName; //
S:= Fields[1].FieldName; //
...
end;
.
:
var s: String; i: Integer; d: TDateTime;
s:= Fields[0].AsString;
i:= Fields[0].AsInteger;
d:= Fields[0].AsDate;
Fields[n] FieldsByName('_').
:
s:= Fields[0].AsString;
s:= FieldsByName('F1').AsString;
FieldByName - , ;
:
Table1.FieldByName('F1').AsInteger:=StrToInt(Edit1.Text);
Filter - , , . , .
:
o , AND OR. : F2 > 10 AND F2 <50;
o , . : [Field Name1] > 50;
Filtered - , , , Filter;
Found - , , FindFirst, FindLast, FindNext FindPrior;
Modified - , , ;
RecordCount - , ;
State - , . :
o dsInactive - ;
o dsBrowse - ;
o dsEdi - ;
o dsInsert - , ;
o dsSetKey - (SetRange) ;
o dsCalcFields - OnCalcFields;
o dsFilter - OnFilterRecord;
o dsOpening - .
Append - , ;
Delete - , . , ;
Edit - , ;
Cancel - , , ;
Post - , ;
Refresh - , ;
Insert - , ;
InsertRecord - , , ;
Close - , ;
Open - , ;
First - , ;
|
|
Last - , ;
Next - , ;
Prior - , .
TDATASOURCE
TDataSource - , .
"-" " " , .
TDataSource , , :
AutoEdit - , , Edit , ;
DataSet - , .
DataSet , , .
:
DataSource.DataSet:= Table1;.
Enabled - , , , ;
State - , .
:
if DataSource1.Dataset <> nil then
// ,
//
//
BtnPost1.Enabled:= DataSource1.State in [dsEdit, dsInsert];
TTABLE
TTable DSN . , , , .
TTable , TDataSet, TTable , :
DatabaseName - , DSN;
CanModify - , , , ;
DefaultIndex - , , . True ( ), ;
IndexName - , , ;
Exclusive - , ( );
MasterSource - , " " "-";
MasterFields - , , ( . );
ReadOnly - , " ";
TableName - , ;
RecNo - , ;
FindKey - , , , ;
|
|
FindNearest - , , , ( , , ).
:
{ Edit1
Table1}
procedure TForm1.FormActivate(Sender: TObject);
begin
Table1.DatabaseName:= 'DBDemos';
Table1.TableName:= 'Customer.db';
Table1.Active:= True;
Table1.IndexName:= 'ByCompany'; { }
end;
{ OnChange ( ) Edit1}
procedure TForm1.Edit1Change(Sender: TObject);
begin
Table1.FindNearest([Edit1.Text]); { }
end;
Locate - , ( , ).
:
with Table1 do
Locate('F1;F2',
VarArrayOf(['ABC', 123]),
[loPartialKey]);
TQUERY
TQuery SQL-, ODBC-. SQL- SELECT, ( ).
Ttable, TQuery , . , , , , .
TQuery SQL , , DatabaseName ( DatabaseName , , , SQL-, - DatabaseName ). , DSN DatabaseName, SQL- .
, , TQuery, .
, :
TQuery TUpdateSQL (: Query1. Query1.UpdateObject:= UpdateSQL1;) ModifySQL (: update TBL1 set F1 =:F1, F2 =:F2 where F3 =:OLD_F3);
RequestLive True ( ).
TQuery , , :
DataSource - , ( "-").
, SQL 'SELECT * FROM Tbl1 t WHERE (t.FNo =:FNo)', :FNo , DataSource.
Params - , SQL-.
:
Query3.SQL.Clear; //
// SQL- INSERT
Query3.SQL.Add('INSERT INTO ADDRESS (F1, F2)');
// :
Query3.SQL.Add('VALUES (:F1,:F2)');
//
Query3.Params[0].AsString:= 'Abc';
Query3.Params[1].AsInteger:= 123;
Query3.ExecSQL; // SQL-
RequestLive - , , ( SQL-);
SQL - , SQL- ( SQL- TQuery SQL Builder);
DatabaseName - , ( DSN , TDatabase);
ExecSQL - , SQL-, SQL ( SQL-, , ExecSQL Open).
ExecSQL SQL- INSERT, UPDATE, DELETE, CREATE TABLE . . ExecSQL Prepare, SQL- , .
Prepare - , SQL-.
|
|
ExecSQL ExecSQL (, ). SQL- , .
TSQLTABLE
TSQLTable , . , TSQLTable. TSQLTable TSQLConnection, . , . TDBText TDBEdit. First Next.
:
1. SQLConnection TSQLTable, TSQLConnection .
2. , , TableName TSQLTable.
TUPDATESQL
TUpdateSQL , " ", SQL-.
TUpdateSQL :
DeleteSQL - , SQL- DELETE.
InsertSQL - , SQL- INSERT.
ModifySQL - , SQL- UPDATE.
ExecSQL - , SQL- ( , : ukDelete, ukInsert,ukModify).
TDATABASE
TDatabase " " .
TDatabase , , .
TDatabase AliasName DatabaseName.
AliasName DSN , ( ) DatabaseName. DatabaseName DSN , DatabaseName TDatabase.
, DSN , DatabaseName , DriverName - ODBC-.
TDatabase , .
Exclusive - , ( SQL-);
InTransaction - , , StartTransaction.
ReadOnly - , , " ".
TransIsolation - , . , , . TransIsolation :
o tiDirtyRead - , , Commit ( );
o tiReadCommitted - , ;
o tiRepeatableRead - , , . , ;
StartTransaction - , ;
StartTransaction - , ;
Commit - , ;
Rollback - , ;
Execute - , SQL-, .
TADOCONNECTION
TADOConnection , ADO-.
ADO- , SQL-. TADOConnection OLE DB .
TADOCommand TADODataSet TADOConnection, Connection.
ConnectionString ( ) TADOConnection, :
datalink-;
.
ConnectionString UDL-, (, Microsoft SQL Server ).