SlideShare une entreprise Scribd logo
1  sur  13
Télécharger pour lire hors ligne
EMBARCADERO	
  TECHNOLOGIESEMBARCADERO	
  TECHNOLOGIES
In-­‐Memory	
  Dataset	
  
TFDMemTable
Jim	
  McKeeth	
  
Lead	
  World	
  Wide	
  Developer	
  Evangelist	
  /	
  Engineer	
  
jim.mckeeth@embarcadero.com	
  
@JimMcKeeth	
  /	
  JimMcKeeth	
  /	
  Delphi.org	
  
March	
  12th,	
  2015
EMBARCADERO	
  TECHNOLOGIES
This	
  Skill	
  Sprint	
  Works	
  with	
  .	
  .	
  .
• Windows	
  
• Mac	
  OS	
  X	
  
• Android	
  
• iOS	
  
• RAD	
  Studio	
  
• Appmethod	
  
• Object	
  Pascal	
  
• C++
• RAD	
  Studio	
  XE7	
  DocWiki	
  
– http://embt.co/latestdocwiki	
  	
  
– http://docwiki.embarcadero.com/RADStudio/en/	
  	
  
• Appmethod	
  September	
  2014	
  DocWiki	
  
– http://embt.co/AppmethodTopics	
  	
  
– http://docwiki.appmethod.com/appmethod/topics/en/	
  
• Appmethod	
  supports	
  the	
  FireMonkey	
  
framework	
  on	
  all	
  4	
  platforms	
  while	
  RAD	
  Studio,	
  
Delphi	
  and	
  C++Builder	
  also	
  support	
  VCL	
  on	
  
Windows.	
  Contact	
  sales	
  with	
  any	
  questions!
EMBARCADERO	
  TECHNOLOGIES
TFDMemTable	
  the	
  Disconnected/In-­‐Memory	
  DataSet
• Design	
  time	
  &	
  Runtime	
  persistence	
  functions:	
  	
  
• Load	
  File,	
  Save	
  File	
  &	
  Assign	
  Data	
  
• Streaming	
  for	
  multi-­‐tier	
  applications	
  
• Used	
  with	
  REST	
  client	
  components,	
  DataSnap,	
  etc.	
  
• Combine	
  with	
  Local	
  SQL	
  for	
  simple	
  query	
  operations	
  
• Use	
  with	
  ETL	
  for	
  other	
  data	
  sources	
  (plain	
  text,	
  csv,	
  etc.)
EMBARCADERO	
  TECHNOLOGIES
Stream	
  and	
  File	
  Formats	
  
(TFDStorageFormat)	
  
• sfAuto	
  
• Based	
  on	
  file	
  extension	
  or	
  binary	
  	
  
• sfBinary	
  (uses	
  FireDAC.Stan.StorageBin)	
  
• Most	
  efficient	
  -­‐	
  Signature:	
  “ADBS”	
  
• sfXML	
  (uses	
  FireDAC.Stan.StorageXML)	
  
• <FDBS	
  Version="14">...	
  
• sfJSON	
  (uses	
  FireDAC.Stan.StorageJSON)	
  
• {"FDBS":{"Version":14,	
  …
4 Image	
  by	
  Shane	
  Porter	
  -­‐	
  Used	
  under	
  Creative	
  Commons

https://commons.wikimedia.org/wiki/File:Jeongbang_Waterfall.jpg	
  
Binary
JSON
XML
EMBARCADERO	
  TECHNOLOGIES
Common	
  Code	
  Samples
//	
  Create	
  Field	
  Definitions	
  
FDMemTable1.FieldDefs.Add('ID',	
  ftInteger,	
  0,	
  False);	
  
FDMemTable1.FieldDefs.Add('Name',	
  ftString,	
  20,	
  False);	
  
FDMemTable1.CreateDataSet;	
  
//	
  Append	
  data	
  
FDMemTable1.Open;	
  
FDMemTable1.AppendRecord([1,	
  'Jim']);	
  
//	
  Load	
  from	
  another	
  DataSet	
  
FDMemTable1.CopyDataSet(DataSet1,	
  [coStructure,	
  coRestart,	
  coAppend]);
OP
EMBARCADERO	
  TECHNOLOGIES
Common	
  Code	
  Samples
//	
  Create	
  Field	
  Definitions	
  
FDMemTable1-­‐>FieldDefs-­‐>Add("ID",	
  ftInteger,	
  0,	
  False);	
  
FDMemTable1-­‐>FieldDefs-­‐>Add("Name",	
  ftString,	
  20,	
  False);	
  
FDMemTable1-­‐>CreateDataSet();	
  
//	
  Append	
  Data	
  
FDMemTable1-­‐>Open();	
  
FDMemTable1-­‐>Append();	
  
FDMemTable1-­‐>FieldByName("ID")-­‐>AsInteger	
  =	
  1;	
  
FDMemTable1-­‐>FieldByName("Name")-­‐>AsString	
  =	
  "Jim";	
  
FDMemTable1-­‐>Post();	
  
//	
  Load	
  from	
  another	
  DataSet	
  
FDMemTable1-­‐>CopyDataSet(DataSet1,	
  TFDCopyDataSetOptions()	
  <<	
  coStructure	
  <<	
  
coRestart	
  <<	
  coAppend);	
  
C++
EMBARCADERO	
  TECHNOLOGIES
DEMONSTRATION
TFDMemTable
EMBARCADERO	
  TECHNOLOGIES
TFDMemTable	
  Summary
• A	
  TDataSet	
  for	
  in-­‐memory	
  or	
  disconnected	
  use.	
  
• Supports	
  
• Copy	
  from	
  another	
  DataSet	
  
• File	
  and	
  stream	
  persistence	
  
• Cached	
  updates	
  
• Cloned	
  cursors	
  
• Nested	
  datasets
EMBARCADERO	
  TECHNOLOGIES
TFDMemTable	
  Resources
• Samples	
  
– C:UsersPublicDocumentsEmbarcaderoStudio15.0Samples	
  
– Object	
  PascalDatabaseFireDACSamplesComp	
  LayerTFDMemTable	
  
– Object	
  PascalDatabaseFireDACSamplesComp	
  LayerTFDLocalSQL	
  
• DocWiki	
  
– http://docwiki.embarcadero.com/Libraries/en/FireDAC.Comp.Client.TFDMemTable	
  	
  
– http://docwiki.embarcadero.com/Libraries/en/FireDAC.Comp.Client.TFDCustomMemTable	
  	
  
– http://docwiki.embarcadero.com/RADStudio/en/TFDMemTable_Questions	
  	
  
• Blog	
  Posts	
  
– CodeRage	
  9	
  Video:	
  TFDMemTable	
  &	
  CDS	
  Compared	
  http://youtu.be/iNgHJakYWkU	
  	
  
– Q&A	
  log:	
  http://wiert.me/2014/10/30/coderage-­‐9-­‐qa-­‐log-­‐clientdatasets-­‐and-­‐fdmemtables-­‐compared/	
  	
  	
  
– CodeRage	
  9	
  FireDAC	
  Tips,	
  Tricks	
  and	
  News:	
  http://youtu.be/gljfudAKlTI	
  	
  	
  
– All	
  these	
  links	
  and	
  more:	
  http://delphi.org/?p=1933	
  
https://commons.wikimedia.org/wiki/File:Iceberg.jpg	
  
EMBARCADERO	
  TECHNOLOGIES
Next	
  Time….
• Preview:	
  EMS	
  Push	
  Notifications	
  
• Sneak	
  peak	
  from	
  a	
  future	
  release	
  
• Push	
  notifications	
  via	
  EMS	
  Server	
  
• Tuesday	
  the	
  10th	
  of	
  March	
  
– 6AM	
  San	
  Francisco	
  /	
  9AM	
  New	
  York	
  /	
  1PM	
  London	
  /	
  2PM	
  Milan	
  /	
  13	
  UTC	
  
– 11AM	
  San	
  Francisco	
  /	
  2PM	
  New	
  York	
  /	
  6PM	
  London	
  /	
  7PM	
  Milan	
  /	
  18	
  UTC	
  
– 5PM	
  San	
  Francisco	
  /	
  Wed	
  9AM	
  Tokyo	
  /	
  Wed	
  11AM	
  Sydney	
  /	
  0	
  UTC
Sign-­‐up:	
  http://www.embarcadero.com/landing-­‐pages/skill-­‐sprints	
  
EMBARCADERO	
  TECHNOLOGIES
Next	
  Time….
• FireDAC:	
  Local	
  SQL	
  
• Execute	
  SQL	
  on	
  in-­‐memory	
  DataSets	
  
• Works	
  with	
  multiple	
  DataSets	
  
• Thursday	
  the	
  19th	
  of	
  March	
  
– 6AM	
  San	
  Francisco	
  /	
  9AM	
  New	
  York	
  /	
  1PM	
  London	
  /	
  2PM	
  Milan	
  /	
  13	
  UTC	
  
– 11AM	
  San	
  Francisco	
  /	
  2PM	
  New	
  York	
  /	
  6PM	
  London	
  /	
  7PM	
  Milan	
  /	
  18	
  UTC	
  
– 5PM	
  San	
  Francisco	
  /	
  Fri	
  9AM	
  Tokyo	
  /	
  Fri	
  11AM	
  Sydney	
  /	
  0	
  UTC
Sign-­‐up:	
  http://www.embarcadero.com/landing-­‐pages/skill-­‐sprints	
  	
  
(2nd	
  sign-­‐up	
  on	
  the	
  left)
EMBARCADERO	
  TECHNOLOGIES
RAD	
  Studio	
  Special	
  Offers
More	
  details	
  http://www.embarcadero.com/radoffer
March	
  31,	
  2015
All	
  expire
EMBARCADERO	
  TECHNOLOGIESEMBARCADERO	
  TECHNOLOGIES
Q	
  &	
  A	
  
@EmbarcaderoTech
Special	
  offers:	
  http://embarcadero.com/radoffer/	
  

Contenu connexe

En vedette

The daily retard
The daily retardThe daily retard
The daily retarddevdeepbag
 
So long andthanksforallthefish
So long andthanksforallthefishSo long andthanksforallthefish
So long andthanksforallthefishFrancesco Perani
 
Developer skills levels
Developer skills levelsDeveloper skills levels
Developer skills levelsFabio Arias
 
concrete5 最新事情 2015
concrete5 最新事情 2015concrete5 最新事情 2015
concrete5 最新事情 2015Hishikawa Takuro
 
Muiz's Tea Shop Photo Essay
Muiz's Tea Shop Photo EssayMuiz's Tea Shop Photo Essay
Muiz's Tea Shop Photo EssayISYGrade6
 
Mr. Tatsuya Yanagi presentation on OVOP - Yogyakarta Workshop 2014
Mr. Tatsuya Yanagi presentation on OVOP - Yogyakarta Workshop 2014Mr. Tatsuya Yanagi presentation on OVOP - Yogyakarta Workshop 2014
Mr. Tatsuya Yanagi presentation on OVOP - Yogyakarta Workshop 2014Toto Wirjosoemarto
 
Fiziskās kultūras un sporta loma un vieta latvijā final
Fiziskās kultūras un sporta loma un vieta latvijā finalFiziskās kultūras un sporta loma un vieta latvijā final
Fiziskās kultūras un sporta loma un vieta latvijā finalAivArs Platonovs
 
Financial analyst
Financial analystFinancial analyst
Financial analystChie Atsumi
 
光速テーマ開発のコツ
光速テーマ開発のコツ光速テーマ開発のコツ
光速テーマ開発のコツHishikawa Takuro
 

En vedette (13)

Watchmen
WatchmenWatchmen
Watchmen
 
The daily retard
The daily retardThe daily retard
The daily retard
 
So long andthanksforallthefish
So long andthanksforallthefishSo long andthanksforallthefish
So long andthanksforallthefish
 
Developer skills levels
Developer skills levelsDeveloper skills levels
Developer skills levels
 
concrete5 最新事情 2015
concrete5 最新事情 2015concrete5 最新事情 2015
concrete5 最新事情 2015
 
Watchmen
WatchmenWatchmen
Watchmen
 
Muiz's Tea Shop Photo Essay
Muiz's Tea Shop Photo EssayMuiz's Tea Shop Photo Essay
Muiz's Tea Shop Photo Essay
 
concrete5 in Japan 2014
concrete5 in Japan 2014concrete5 in Japan 2014
concrete5 in Japan 2014
 
Network
NetworkNetwork
Network
 
Mr. Tatsuya Yanagi presentation on OVOP - Yogyakarta Workshop 2014
Mr. Tatsuya Yanagi presentation on OVOP - Yogyakarta Workshop 2014Mr. Tatsuya Yanagi presentation on OVOP - Yogyakarta Workshop 2014
Mr. Tatsuya Yanagi presentation on OVOP - Yogyakarta Workshop 2014
 
Fiziskās kultūras un sporta loma un vieta latvijā final
Fiziskās kultūras un sporta loma un vieta latvijā finalFiziskās kultūras un sporta loma un vieta latvijā final
Fiziskās kultūras un sporta loma un vieta latvijā final
 
Financial analyst
Financial analystFinancial analyst
Financial analyst
 
光速テーマ開発のコツ
光速テーマ開発のコツ光速テーマ開発のコツ
光速テーマ開発のコツ
 

Plus de Jim McKeeth

Smart Contracts - The Blockchain Beyond Bitcoin
Smart Contracts - The Blockchain Beyond BitcoinSmart Contracts - The Blockchain Beyond Bitcoin
Smart Contracts - The Blockchain Beyond BitcoinJim McKeeth
 
Rapid Prototyping Mobile IoT Projects with Arduino and Open Hardware
Rapid Prototyping Mobile IoT Projects with Arduino and Open HardwareRapid Prototyping Mobile IoT Projects with Arduino and Open Hardware
Rapid Prototyping Mobile IoT Projects with Arduino and Open HardwareJim McKeeth
 
Day 3 of C++ Boot Camp - C++11 Language Deep Dive
Day 3 of C++ Boot Camp - C++11 Language Deep DiveDay 3 of C++ Boot Camp - C++11 Language Deep Dive
Day 3 of C++ Boot Camp - C++11 Language Deep DiveJim McKeeth
 
Day 5 of C++ Boot Camp - Stepping Up to Mobile
Day 5 of C++ Boot Camp - Stepping Up to MobileDay 5 of C++ Boot Camp - Stepping Up to Mobile
Day 5 of C++ Boot Camp - Stepping Up to MobileJim McKeeth
 
Android Services Skill Sprint
Android Services Skill SprintAndroid Services Skill Sprint
Android Services Skill SprintJim McKeeth
 
Building a Thought Controlled Drone
Building a Thought Controlled DroneBuilding a Thought Controlled Drone
Building a Thought Controlled DroneJim McKeeth
 
Embarcadero's Connected Development
Embarcadero's Connected DevelopmentEmbarcadero's Connected Development
Embarcadero's Connected DevelopmentJim McKeeth
 
The Internet of Things and You - A Developers Guide to IoT
The Internet of Things and You - A Developers Guide to IoTThe Internet of Things and You - A Developers Guide to IoT
The Internet of Things and You - A Developers Guide to IoTJim McKeeth
 
Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...
Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...
Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...Jim McKeeth
 
Android voice skill sprint
Android voice skill sprintAndroid voice skill sprint
Android voice skill sprintJim McKeeth
 
Exploring the Brain Computer Interface
Exploring the Brain Computer InterfaceExploring the Brain Computer Interface
Exploring the Brain Computer InterfaceJim McKeeth
 
Introduction to Android Development with Java
Introduction to Android Development with JavaIntroduction to Android Development with Java
Introduction to Android Development with JavaJim McKeeth
 
Hacking iBooks and ePub3 with JavaScript!
Hacking iBooks and ePub3 with JavaScript!Hacking iBooks and ePub3 with JavaScript!
Hacking iBooks and ePub3 with JavaScript!Jim McKeeth
 
Inventing merit badge
Inventing merit badgeInventing merit badge
Inventing merit badgeJim McKeeth
 

Plus de Jim McKeeth (14)

Smart Contracts - The Blockchain Beyond Bitcoin
Smart Contracts - The Blockchain Beyond BitcoinSmart Contracts - The Blockchain Beyond Bitcoin
Smart Contracts - The Blockchain Beyond Bitcoin
 
Rapid Prototyping Mobile IoT Projects with Arduino and Open Hardware
Rapid Prototyping Mobile IoT Projects with Arduino and Open HardwareRapid Prototyping Mobile IoT Projects with Arduino and Open Hardware
Rapid Prototyping Mobile IoT Projects with Arduino and Open Hardware
 
Day 3 of C++ Boot Camp - C++11 Language Deep Dive
Day 3 of C++ Boot Camp - C++11 Language Deep DiveDay 3 of C++ Boot Camp - C++11 Language Deep Dive
Day 3 of C++ Boot Camp - C++11 Language Deep Dive
 
Day 5 of C++ Boot Camp - Stepping Up to Mobile
Day 5 of C++ Boot Camp - Stepping Up to MobileDay 5 of C++ Boot Camp - Stepping Up to Mobile
Day 5 of C++ Boot Camp - Stepping Up to Mobile
 
Android Services Skill Sprint
Android Services Skill SprintAndroid Services Skill Sprint
Android Services Skill Sprint
 
Building a Thought Controlled Drone
Building a Thought Controlled DroneBuilding a Thought Controlled Drone
Building a Thought Controlled Drone
 
Embarcadero's Connected Development
Embarcadero's Connected DevelopmentEmbarcadero's Connected Development
Embarcadero's Connected Development
 
The Internet of Things and You - A Developers Guide to IoT
The Internet of Things and You - A Developers Guide to IoTThe Internet of Things and You - A Developers Guide to IoT
The Internet of Things and You - A Developers Guide to IoT
 
Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...
Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...
Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...
 
Android voice skill sprint
Android voice skill sprintAndroid voice skill sprint
Android voice skill sprint
 
Exploring the Brain Computer Interface
Exploring the Brain Computer InterfaceExploring the Brain Computer Interface
Exploring the Brain Computer Interface
 
Introduction to Android Development with Java
Introduction to Android Development with JavaIntroduction to Android Development with Java
Introduction to Android Development with Java
 
Hacking iBooks and ePub3 with JavaScript!
Hacking iBooks and ePub3 with JavaScript!Hacking iBooks and ePub3 with JavaScript!
Hacking iBooks and ePub3 with JavaScript!
 
Inventing merit badge
Inventing merit badgeInventing merit badge
Inventing merit badge
 

Dernier

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 

Dernier (20)

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

FireDAC Skill Sprint: In-Memory DataSet - TFDMemTable

  • 1. EMBARCADERO  TECHNOLOGIESEMBARCADERO  TECHNOLOGIES In-­‐Memory  Dataset   TFDMemTable Jim  McKeeth   Lead  World  Wide  Developer  Evangelist  /  Engineer   jim.mckeeth@embarcadero.com   @JimMcKeeth  /  JimMcKeeth  /  Delphi.org   March  12th,  2015
  • 2. EMBARCADERO  TECHNOLOGIES This  Skill  Sprint  Works  with  .  .  . • Windows   • Mac  OS  X   • Android   • iOS   • RAD  Studio   • Appmethod   • Object  Pascal   • C++ • RAD  Studio  XE7  DocWiki   – http://embt.co/latestdocwiki     – http://docwiki.embarcadero.com/RADStudio/en/     • Appmethod  September  2014  DocWiki   – http://embt.co/AppmethodTopics     – http://docwiki.appmethod.com/appmethod/topics/en/   • Appmethod  supports  the  FireMonkey   framework  on  all  4  platforms  while  RAD  Studio,   Delphi  and  C++Builder  also  support  VCL  on   Windows.  Contact  sales  with  any  questions!
  • 3. EMBARCADERO  TECHNOLOGIES TFDMemTable  the  Disconnected/In-­‐Memory  DataSet • Design  time  &  Runtime  persistence  functions:     • Load  File,  Save  File  &  Assign  Data   • Streaming  for  multi-­‐tier  applications   • Used  with  REST  client  components,  DataSnap,  etc.   • Combine  with  Local  SQL  for  simple  query  operations   • Use  with  ETL  for  other  data  sources  (plain  text,  csv,  etc.)
  • 4. EMBARCADERO  TECHNOLOGIES Stream  and  File  Formats   (TFDStorageFormat)   • sfAuto   • Based  on  file  extension  or  binary     • sfBinary  (uses  FireDAC.Stan.StorageBin)   • Most  efficient  -­‐  Signature:  “ADBS”   • sfXML  (uses  FireDAC.Stan.StorageXML)   • <FDBS  Version="14">...   • sfJSON  (uses  FireDAC.Stan.StorageJSON)   • {"FDBS":{"Version":14,  … 4 Image  by  Shane  Porter  -­‐  Used  under  Creative  Commons
 https://commons.wikimedia.org/wiki/File:Jeongbang_Waterfall.jpg   Binary JSON XML
  • 5. EMBARCADERO  TECHNOLOGIES Common  Code  Samples //  Create  Field  Definitions   FDMemTable1.FieldDefs.Add('ID',  ftInteger,  0,  False);   FDMemTable1.FieldDefs.Add('Name',  ftString,  20,  False);   FDMemTable1.CreateDataSet;   //  Append  data   FDMemTable1.Open;   FDMemTable1.AppendRecord([1,  'Jim']);   //  Load  from  another  DataSet   FDMemTable1.CopyDataSet(DataSet1,  [coStructure,  coRestart,  coAppend]); OP
  • 6. EMBARCADERO  TECHNOLOGIES Common  Code  Samples //  Create  Field  Definitions   FDMemTable1-­‐>FieldDefs-­‐>Add("ID",  ftInteger,  0,  False);   FDMemTable1-­‐>FieldDefs-­‐>Add("Name",  ftString,  20,  False);   FDMemTable1-­‐>CreateDataSet();   //  Append  Data   FDMemTable1-­‐>Open();   FDMemTable1-­‐>Append();   FDMemTable1-­‐>FieldByName("ID")-­‐>AsInteger  =  1;   FDMemTable1-­‐>FieldByName("Name")-­‐>AsString  =  "Jim";   FDMemTable1-­‐>Post();   //  Load  from  another  DataSet   FDMemTable1-­‐>CopyDataSet(DataSet1,  TFDCopyDataSetOptions()  <<  coStructure  <<   coRestart  <<  coAppend);   C++
  • 8. EMBARCADERO  TECHNOLOGIES TFDMemTable  Summary • A  TDataSet  for  in-­‐memory  or  disconnected  use.   • Supports   • Copy  from  another  DataSet   • File  and  stream  persistence   • Cached  updates   • Cloned  cursors   • Nested  datasets
  • 9. EMBARCADERO  TECHNOLOGIES TFDMemTable  Resources • Samples   – C:UsersPublicDocumentsEmbarcaderoStudio15.0Samples   – Object  PascalDatabaseFireDACSamplesComp  LayerTFDMemTable   – Object  PascalDatabaseFireDACSamplesComp  LayerTFDLocalSQL   • DocWiki   – http://docwiki.embarcadero.com/Libraries/en/FireDAC.Comp.Client.TFDMemTable     – http://docwiki.embarcadero.com/Libraries/en/FireDAC.Comp.Client.TFDCustomMemTable     – http://docwiki.embarcadero.com/RADStudio/en/TFDMemTable_Questions     • Blog  Posts   – CodeRage  9  Video:  TFDMemTable  &  CDS  Compared  http://youtu.be/iNgHJakYWkU     – Q&A  log:  http://wiert.me/2014/10/30/coderage-­‐9-­‐qa-­‐log-­‐clientdatasets-­‐and-­‐fdmemtables-­‐compared/       – CodeRage  9  FireDAC  Tips,  Tricks  and  News:  http://youtu.be/gljfudAKlTI       – All  these  links  and  more:  http://delphi.org/?p=1933   https://commons.wikimedia.org/wiki/File:Iceberg.jpg  
  • 10. EMBARCADERO  TECHNOLOGIES Next  Time…. • Preview:  EMS  Push  Notifications   • Sneak  peak  from  a  future  release   • Push  notifications  via  EMS  Server   • Tuesday  the  10th  of  March   – 6AM  San  Francisco  /  9AM  New  York  /  1PM  London  /  2PM  Milan  /  13  UTC   – 11AM  San  Francisco  /  2PM  New  York  /  6PM  London  /  7PM  Milan  /  18  UTC   – 5PM  San  Francisco  /  Wed  9AM  Tokyo  /  Wed  11AM  Sydney  /  0  UTC Sign-­‐up:  http://www.embarcadero.com/landing-­‐pages/skill-­‐sprints  
  • 11. EMBARCADERO  TECHNOLOGIES Next  Time…. • FireDAC:  Local  SQL   • Execute  SQL  on  in-­‐memory  DataSets   • Works  with  multiple  DataSets   • Thursday  the  19th  of  March   – 6AM  San  Francisco  /  9AM  New  York  /  1PM  London  /  2PM  Milan  /  13  UTC   – 11AM  San  Francisco  /  2PM  New  York  /  6PM  London  /  7PM  Milan  /  18  UTC   – 5PM  San  Francisco  /  Fri  9AM  Tokyo  /  Fri  11AM  Sydney  /  0  UTC Sign-­‐up:  http://www.embarcadero.com/landing-­‐pages/skill-­‐sprints     (2nd  sign-­‐up  on  the  left)
  • 12. EMBARCADERO  TECHNOLOGIES RAD  Studio  Special  Offers More  details  http://www.embarcadero.com/radoffer March  31,  2015 All  expire
  • 13. EMBARCADERO  TECHNOLOGIESEMBARCADERO  TECHNOLOGIES Q  &  A   @EmbarcaderoTech Special  offers:  http://embarcadero.com/radoffer/