Académique Documents
Professionnel Documents
Culture Documents
(11)3253
atendimento@tdstecnologiasp.com.br
8121
Vista/SP
INCIO
BlogdaTDS
Fiquepordentrodoqueaconteceporaqui!
03
set
Av.Paulista,3262andarSalas23,24,25Bela
SOBREATDS
TREINAMENTOS
DESENVOLVIMENTO
SERVIOS
BLOGDATDS
CONTATO
ConhecendoBibliotecaFireDACdeacessoadadosParte
I
Olatodos,hojeiremosiniciarumasriedeartigossobreessapoderosabibliotecadeacessoadados,o
FireDac,abaixoireifalarsobreabibliotecaeiniciaremoscomumexemplosimplesdeacessoadados,mas
teremosdiversosexemplossemanalmentesobreoFiredac,porissonodeixedeacompanharoBlogdaTDS,
partiremosdoacessoaosdadosatcomoconvertersuasaplicaesdeBDEouDBExpressparaFireDAC.
DescriodaBiblioteca
AFireDACumabibliotecadeAcessoUniversalaDadosparaodesenvolvimentodeaplicaesparamltiplos
dispositivosconectadosabancosdedadoscorporativos.Comsuapoderosaarquiteturauniversal,aFireDAC
possibilitaacessodireto,nativoedealtavelocidadedoDelphiedoC++BuilderaInterBase,SQLite,MySQL,
SQLServer,Oracle,PostgreSQL,DB2,SQLAnywhere,AdvantageDB,Firebird,Access,Informix,DataSnap,
dentreoutros.
AFireDACumacamadapoderosaeaindaassimfcildeutilizar,quesuporta,abstraiesimplificaoacessoa
dados,fornecendotodasasfunesnecessriasparaconstruiraplicaesdealtacargademundoreal.A
FireDACforneceumAPIcomumparaacessoadistintosbackendsdebancosdedados,semprejuzodo
acessoafunesespecficasdebancodedadoseseminterferirnodesempenho.UseaFireDACnas
aplicaesAndroid,Windows,OSXeiOSquevocestejadesenvolvendoparaPCs,tabletesesmartphones.
CaractersticasdaBiblioteca
OsdatasetsdaFireDACsoconstrudossobreumpoderosoenginedeacessoadados.Esteenginede
tamanhoreduzidoefetivoeflexvel,podendoserusadodiretamentenasaplicaes,servindocomouma
poderosafundaoparaoAPIdosdatasets.Oengineconsistedoscomponentesdodatasetedascamadas
nocomponentes,representadaspelosflexveisAPIsorientadosaobjetos.
ClassesTDataSetdescendentesdefcilutilizao,incluindoTADQuery,TADMemTable,TADStoredProce
TADTable
ClassesdedatasetaltamentecompatveiscomdatasetsoriginaisdeBDEeClientDataSet
Umdosmaisrpidosdatasetsinmemory,comordenao,filtragem,agregao,ndicesfiltradosede
expresso,persistnciaetc.
EngineSQLlocalparaexecuodequeriesSQLnosdatasets
Acessoadadosdealtodesempenho
Oacessoaobancodedadosotimizadoutilizandovriastcnicasdistintasnormalmenteencontradasapenas
emcomponentesespecficosdebancosdedados,oquepermitequevocobtenhamaiorvelocidadede
acessoadadosjnoprimeiroinstante.
Mododejaneladedadosdetemporeal,(LiveDataWindow)quepermitenavegardatasetsgrandesdemodo
rpidoebidirecional
ExecuodeComandosdeManipulaodeDados(DML)emarrayeCommandBatchesparaexecuoem
loteereduodotrfegoderede
Buscacomrowsetcustomizveleflexvel
Suportediretoaexecuodecomandoassncrono,timeoutecancelamentodeexecuodecomando
Geraoeexecuoautomtica,eficienteesofisticadadeatualizaesdecomando
Mododeatualizaesemcache,comapossibilidadederastrearasmudanascorrelacionadasdevrios
datasets,comatualizaesemcascata
Suporteplenoacamposdeautoincremento,incluindoaquelesbaseadosemgeradoresegatilhosdetabelas
APIUnificado
AFireDACfornecevriasfunesqueajudamaabstrairasdiferenasentresistemasdebancodedados,
facilitandoatarefadeescrevercdigosemsepreocuparcomdiferentesdialetosdeDBMSououtrasdiferenas
sutisdestes.
AbstraodedialetoSQLatravsdesequnciasdeescape,declaraescondicionaisemacrosdaFireDAC
Unificaodetiposdedadoscommapeamentoflexveleajustveldetiposdedados
Relatriosdeerrosunificados,incluindoinformaesdeerrosespecficosouindependentesdeDBMS
Suporteunificadoatransaes,comtransaesdereadeupdateseparadas,eacessoatodoopoderdo
suporteatransaesespecficasdoInterBaseedoFirebird
SuporteamltiplascodificaesUnicodeeANSI
Recuperaoautomticadaconexo,querestabeleceautomaticamenteaconexoemcasodeinstabilidade
doambiente
Mododeconexooffline,quepermitequeaaplicaocontinueatrabalharsemumaconexofsicaaum
bancodedados
Eventosdebancodedadosesuporteanotificaes
SuporteascriptsSQLunificados
Capacidadesampliadasdebuscademetadados
Buscar...
TPICOS RECENTES
FireMonkey(FMX)Framework
(PARTE2)
FireMonkey(FMX)Framework
(PARTE1)
RESTCLIENT(PARTII)
ConhecendoBibliotecaFireDACde
acessoadadosParteI
RESTCLIENT(PART1)
ARQUIVOS
outubro2014
setembro2014
agosto2014
julho2014
junho2014
CATEGORIAS
Artigos
Comunicados
Uncategorized
Capacidadesampliadasdebuscademetadados
SuportenativodeDriver
AlmdeconectividadeuniversalaDBMSs,aFireDACtambmsuportadriversnativosdebancosdedados,
dandoavocacessodeprimeiralinhaspoderosaseavanadasfunesquetornamcadabancodedados
nico.
AcessoaAPIsefunesespecficasdevriosbancosdedados:
MySQL
MicrosoftSQLServer
OracleDatabase
InterBase
PostgreSQL
DataSnap
SQLite
SybaseSQLAnywhere
MicrosoftAccess
IBMDB2Server
Informix
Firebird
AdvantageDatabase
TodasascaractersticasacimasdemonstramoquantograndiosoaBibliotecaFiredac,todasessas
informaessobaseadasnaversoXE6,aqualaTDSestutilizandoemseustreinamentos,noinstalamos
aversoXE7,comissoqualqueralteraoque,esehouver,estareicomentandonosprximosartigos.Agora
vamoscolocaramonamassaedesenvolvernossaprimeiraaplicaoutilizandoDelphiXE6eFireDac.Em
nossoprimeiroexemploiremosfazerumaconexosimples.
Informaesimportantesparaoprojetoqueiremosdesenvolverlogoaseguir,iremostrabalharcomobancode
dadosFirebird2.5usandoobancodedadosquevemcomoexemploemsuainstalao,queobancode
dadosEmployee.fdbeoDelphiXE6.
AbraoDelphievamosiniciarnossoexemplopassoapasso
Menu>File>New>VCLFormsApplicationDelphi
IremosSalvarosarquivosquefazempartedenossaaplicao,primeiramenteaUnit:
Unit>UAcessoDados
Projeto>PAcessoDados
ApssalvarosarquivosiremosrenomearoForm
FormFrmAcessoDados
Aplicaodeveestardestaforma
ApsiremosadicionarnossosfamososcomponentesDBNavigatoreDBGrid,comasseguintesmudanasde
Propriedades.
ODBNavigatoriremosmudarapropriedadeAlingparaAltop
ODBGridiremosmudarapropriedadeAlingparaAlClient
Aplicaodeveestardestaforma
ComissoiremoscomearatrabalharcomaBibliotecaFireDac,adicioneoscomponents:
TFDConnectioneTFDQueryenossocanaldecomunicaocomoscompoentesDataWareoDataSource.
Aplicaodeveestardestaforma
Agorairemoscomearaconfiguraroacessoadados,logicamentepeloocomponentedeacessoadadoso
FDConnectio1.
IremosmudarapropriedadenamedoFDConnectionparaconexoealterarapropriedadeLoginPromptde
TrueparaFalse,paranoficarsolicitandoousurioesenhadobancodedados.
Aps,deumduploclicknocomponenteconexo,poisnestemomentojmudamosonomedocomponentede
conexo,comissoiraparecerateladeconfigurao:
Aplicaodeveestardestaforma
NoPrintacimapodemosobservarapropriedadeselecionadaDriverID,aiqueselecionamosodriverde
acessoabancodedadosqueiremosutilizar,lembrandoque,naespecificaoacimadabibliotecatemosa
descriodosbancossuportados,maiscomomencioneiacima,iremostrabalharcomoFireBirdcomobanco
dedadosemnossaaplicao,comissotemosasconfiguraesabaixo,primeiroselecioneoDriveFBque
correspondeaoFireBird.
Apsteremosqueinformaasseguintespropriedades
ObancodedadosqueiremosusarnapropriedadeDataBase
InformarousuriodobancodedadosnapropriedadeUser_Name
InformarasenhadobancodedadosnapropriedadePassword
Aplicaodeveestardestaforma
Aps,clicknobotoTestparaconferirseconseguimosestabeleceraconexocomnossobancodedados,
deveraparecerumateladeconfirmaocomosdadosqueinformamosusurioesenha,eaisclicarno
botook,eteremosamensagemdaconexoestabelecidacomsucesso.
Aplicaodeveestardestaforma
Apartirdestemomentotemosaconexoestabelecidacomobancodedadoseiremosexecutarnossoselect
simplesnatabelaCUSTOMERquetemosnobancodedadosdeexemplo,quevemcomainstalaodo
Firebird,utilizaremosocomponenteTFDQueryondecomearemosamodificalo.Umainformaointeressante
queosnovoscomponentesdoDelphiseinterligamautomaticamente,porexemplo,seseguiuaordemde
queosnovoscomponentesdoDelphiseinterligamautomaticamente,porexemplo,seseguiuaordemde
colocaroTFDConnectionprimeiroedepoisoTFDQuery,irperceberqueapropriedadeConnectiondo
TFDQueryestarpreenchidacomoconexo.
Aps,teremosqueinformaasseguintespropriedades.
MudaremosapropriedadeNamedoFDQueryparaFDQCustomer
Aps,daremosumduploclicknocomponenteFDQCustomerparaabriroQueryEditorondecolocaremosa
instruoSelect*FromCUSTOMER.
Aplicaodeveestardestaforma
Clicknobotoexecuteparaconferirsenossainstruoestcorreta,estandotudocerto,teremosoretornodos
dadosnoGriddaAbaRecordSet.
Aplicaodeveestardestaforma
Aps,clicknobotoOkeiremosconfigurarnossoDataSource
Informaremosasseguintespropriedades
MudaremosapropriedadeNamedoDataSourceparaDSCustomer
MudaremosapropriedadeDataSetapontandoparaoFDQCustomer
AgorairemosapontaraspropriedadesDataSourcedoDBNavigatoredoDBGridparaoDSCustomer.
Aplicaodeveestardestaforma
Faltaadicionardoiscomponentesessenciaisparanossaaplicaoserexecutada,sooscomponentes
TFDPhysFBDriverLink,queocomponentequevinculaoDriverFB,ouseja,doFirebirdanossaaplicaoeo
componenteTFDGUIxWaitCursor,queocomponente,quepermitecontrolarmosocursordeespera.
Observemquenoprecisamosalterarnadaneles,somenteadicionalos,elessoobrigatriosem
nossasaplicaes,quandoutilizamosaBibliotecaFireDacoTFDPhysFBDriverLinkusadopara
acessoaofirebird,nosdemaisbancossuportado,existeoDriverLinkprprio.
Aplicaodeveestardestaforma
ComissoiremosselecionaroFrmAcessoDadosecodificaroseventosOnShoweOnClosecomoscdigos
abaixo.
CdigodoEventoOnShow
procedureTFrmAcessoDados.FormShow(Sender:TObject)
begin
FDQCustomer.Open()
end
CdigodoEventoOnClose
procedureTFrmAcessoDados.FormClose(Sender:TObjectvarAction:TCloseAction)
begin
conexao.Close
FDQCustomer.Close
end
Aplicaodeveestardestaforma
TeclandooF9doseuteclado,teremosacompilaodonossocdigoeaexecuodenossaaplicao.
Aplicaodeveestardestaforma
ChegamosconclusodenossoexemplodeconexodedadoscomaBibliotecaFiredac.
EsseoprimeirodevriosartigosqueteremosemnossoBlog,todasemanaumartigodiferenteondeiremos
exploraromximoabibliotecaFireDAC.
Baixeoprojetodesteartigo.
Projeto
SobreoAutor
LeandroMatos
ProjectManagerdaTDSTecnologia
TrabalhandocomDelphideste1997
InstrutorDelphiCertificado
CertificadoMasternaferramentaDelphi
CertificadoInstructornaferramentaDelphi
2comentrios
tdstecnologiasp
Artigos
2ResponsestoConhecendoBibliotecaFireDACdeacessoadadosParteI
Thiago
Gobatti
Atendimentooffline
Leandro,boanoite.
Muitobomocontedo,estadeparabnspelamatria.
EstoupensandoemmigrarparaoXe7paracomearadesvendarocaminhodaspedraspara
aplataformadoAndroid,tenhoumagrandedvida,porfavortentemeajudar.
HojetodaminhabasededadosfeitaemMySQLpelafacilidadedeacessoviawebsitee
aplicaoDesktop,minhaduvidasepossvelfazerumaaplicaoparaAndroidequese
conectacomumabasededadosMysql?
Obrigadoenovamenteparabns.
ThiagoGobatti
2denovembrode2014at8:07
pm
Responder
Artigomuitobom.Excelentedidtica.Esperoansiosamenteasegundaparte.
2dedezembrode2014at2:51
Responder
pm
GilbertoH.
DeSouza
Deixeumaresposta
OseuendereodeemailnoserpublicadoCamposobrigatriosso
marcados*
Nome*
Email*
Site
Comentrio
Publicarcomentrio
Avisemesobrecomentriosseguintesporemail.
Avisemesobrenovaspublicaesporemail.
RESTCLIENT(PART1)
Design&DesenvolvimentoSummitDesign
RESTCLIENT(PARTII)