The Commands sample shows you how to set up column mappings.
Table of Contents
Location
You can find the MappingColumns sample project at:
- Start | Programs | Embarcadero RAD Studio Sydney | Samples and then navigate to:
Object PascalDatabaseFireDACSamplesDApt LayerMappingColumns
- Subversion Repository:
- You can find Delphi code samples in GitHub Repositories. Search by name into the samples repositories according to your RAD Studio version.
How to Use the Sample
- Navigate to the location given above and open
MappingColumns.dproj
. - Press F9 or choose Run > Run.
- Click on the Use Connection Definition combo box and select an option.
Files
File in Delphi | Contains |
---|---|
MappingColumns.dproj MappingColumns.dpr | The project itself. |
fMappingColumns.pas fMappingColumns.fmx | The main form. |
Implementation
To set up the columns mapping, the sample implements the following steps.
Create table adapter
1 2 3 4 5 6 |
var oAdapt: IFDDAptTableAdapter; <em>// ...</em> begin <em>// create table adapter</em> FDCreateInterface(IFDDAptTableAdapter, oAdapt); |
Assign command
1 2 3 4 5 6 7 8 9 |
var oComm: IFDPhysCommand; <em>// ...</em> begin <em>// ...</em> with oAdapt do begin FConnIntf.CreateCommand(oComm); SelectCommand := oComm; SelectCommand.Prepare('select * from {id FDQA_map1}'); |
Set source result set name
1 |
SourceRecordSetName := EncodeName('FDQA_map1'); |
Set the DatSTable name
Set the DatSTable name where the rows are fetched.
1 |
DatSTableName := 'mapper'; |
Set the UpdateTable name
1 |
UpdateTableName := EncodeName('FDQA_map2'); |
Set the UpdateTable name
1 |
UpdateTableName := EncodeName('FDQA_map2'); |
Setup column mappings
1 2 |
ColumnMappings.Add('id1', 'num', 'id2'); ColumnMappings.Add('name1', 'title', 'name2'); |
Fetch rows
1 2 |
Define; Fetch; |
Update changes to RDBMS
To append rows, implement the following code:
1 2 |
for i := 0 to 9 do DatSTable.Rows.Add([i, 'first' + IntToStr(i)]); <em>// Note that new rows will be added to the FDQA_map2(id2, name2) table.</em> |
Then, the sample updates the changes to the RDBMS.
1 |
Update; |
Please go to the link below if you want to check the original post of Embarcadero for this sample:
http://docwiki.embarcadero.com/CodeExamples/Sydney/en/FireDAC.MappingColumns_Sample
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition