Conhecendo Biblioteca FireDAC de Acesso a Dados - Parte I _ TDS Tecnologia SPTDS Tecnologia SP

Embed Size (px)

DESCRIPTION

Conhecendo Biblioteca FireDAC de Acesso a Dados - Parte I _ TDS Tecnologia SPTDS Tecnologia SP

Citation preview

  • set03

    ConhecendoBibliotecaFireDACdeacessoadadosParteIOlatodos,hojeiremosiniciarumasriedeartigossobreessapoderosabibliotecadeacessoadados,oFireDac,abaixoireifalarsobreabibliotecaeiniciaremoscomumexemplosimplesdeacessoadados,masteremosdiversosexemplossemanalmentesobreoFiredac,porissonodeixedeacompanharoBlogdaTDS,partiremosdoacessoaosdadosatcomoconvertersuasaplicaesdeBDEouDBExpressparaFireDAC.DescriodaBibliotecaAFireDACumabibliotecadeAcessoUniversalaDadosparaodesenvolvimentodeaplicaesparamltiplosdispositivosconectadosabancosdedadoscorporativos.Comsuapoderosaarquiteturauniversal,aFireDACpossibilitaacessodireto,nativoedealtavelocidadedoDelphiedoC++BuilderaInterBase,SQLite,MySQL,SQLServer,Oracle,PostgreSQL,DB2,SQLAnywhere,AdvantageDB,Firebird,Access,Informix,DataSnap,dentreoutros.AFireDACumacamadapoderosaeaindaassimfcildeutilizar,quesuporta,abstraiesimplificaoacessoadados,fornecendotodasasfunesnecessriasparaconstruiraplicaesdealtacargademundoreal.AFireDACforneceumAPIcomumparaacessoadistintosbackendsdebancosdedados,semprejuzodoacessoafunesespecficasdebancodedadoseseminterferirnodesempenho.UseaFireDACnasaplicaesAndroid,Windows,OSXeiOSquevocestejadesenvolvendoparaPCs,tabletesesmartphones.CaractersticasdaBibliotecaOsdatasetsdaFireDACsoconstrudossobreumpoderosoenginedeacessoadados.Esteenginedetamanhoreduzidoefetivoeflexvel,podendoserusadodiretamentenasaplicaes,servindocomoumapoderosafundaoparaoAPIdosdatasets.Oengineconsistedoscomponentesdodatasetedascamadasnocomponentes,representadaspelosflexveisAPIsorientadosaobjetos.ClassesTDataSetdescendentesdefcilutilizao,incluindoTADQuery,TADMemTable,TADStoredProceTADTableClassesdedatasetaltamentecompatveiscomdatasetsoriginaisdeBDEeClientDataSetUmdosmaisrpidosdatasetsinmemory,comordenao,filtragem,agregao,ndicesfiltradosedeexpresso,persistnciaetc.EngineSQLlocalparaexecuodequeriesSQLnosdatasetsAcessoadadosdealtodesempenhoOacessoaobancodedadosotimizadoutilizandovriastcnicasdistintasnormalmenteencontradasapenasemcomponentesespecficosdebancosdedados,oquepermitequevocobtenhamaiorvelocidadedeacessoadadosjnoprimeiroinstante.Mododejaneladedadosdetemporeal,(LiveDataWindow)quepermitenavegardatasetsgrandesdemodorpidoebidirecionalExecuodeComandosdeManipulaodeDados(DML)emarrayeCommandBatchesparaexecuoemloteereduodotrfegoderedeBuscacomrowsetcustomizveleflexvelSuportediretoaexecuodecomandoassncrono,timeoutecancelamentodeexecuodecomandoGeraoeexecuoautomtica,eficienteesofisticadadeatualizaesdecomandoMododeatualizaesemcache,comapossibilidadederastrearasmudanascorrelacionadasdevriosdatasets,comatualizaesemcascataSuporteplenoacamposdeautoincremento,incluindoaquelesbaseadosemgeradoresegatilhosdetabelasAPIUnificadoAFireDACfornecevriasfunesqueajudamaabstrairasdiferenasentresistemasdebancodedados,facilitandoatarefadeescrevercdigosemsepreocuparcomdiferentesdialetosdeDBMSououtrasdiferenassutisdestes.AbstraodedialetoSQLatravsdesequnciasdeescape,declaraescondicionaisemacrosdaFireDACUnificaodetiposdedadoscommapeamentoflexveleajustveldetiposdedadosRelatriosdeerrosunificados,incluindoinformaesdeerrosespecficosouindependentesdeDBMSSuporteunificadoatransaes,comtransaesdereadeupdateseparadas,eacessoatodoopoderdosuporteatransaesespecficasdoInterBaseedoFirebirdSuporteamltiplascodificaesUnicodeeANSIRecuperaoautomticadaconexo,querestabeleceautomaticamenteaconexoemcasodeinstabilidadedoambienteMododeconexooffline,quepermitequeaaplicaocontinueatrabalharsemumaconexofsicaaumbancodedadosEventosdebancodedadosesuporteanotificaesSuporteascriptsSQLunificadosCapacidadesampliadasdebuscademetadados

    Buscar...

    TPICOS RECENTES

    FireMonkey(FMX)Framework(PARTE2)

    FireMonkey(FMX)Framework(PARTE1)

    RESTCLIENT(PARTII)

    ConhecendoBibliotecaFireDACdeacessoadadosParteI

    RESTCLIENT(PART1)

    ARQUIVOS

    outubro2014

    setembro2014

    agosto2014

    julho2014

    junho2014

    CATEGORIAS

    Artigos

    Comunicados

    Uncategorized

    BlogdaTDSFiquepordentrodoqueaconteceporaqui! Vocestaqui: Incio ConhecendoBibliotecaFireDACde

    acessoadadosParteI

    INCIO SOBREATDS TREINAMENTOS DESENVOLVIMENTO SERVIOS BLOGDATDS CONTATO

    CentraldoAluno (11)3253

    8121

    [email protected] Av.Paulista,3262andarSalas23,24,25Bela

    Vista/SP

  • CapacidadesampliadasdebuscademetadadosSuportenativodeDriverAlmdeconectividadeuniversalaDBMSs,aFireDACtambmsuportadriversnativosdebancosdedados,dandoavocacessodeprimeiralinhaspoderosaseavanadasfunesquetornamcadabancodedadosnico.AcessoaAPIsefunesespecficasdevriosbancosdedados:MySQLMicrosoftSQLServerOracleDatabaseInterBasePostgreSQLDataSnapSQLiteSybaseSQLAnywhereMicrosoftAccessIBMDB2ServerInformixFirebirdAdvantageDatabaseTodasascaractersticasacimasdemonstramoquantograndiosoaBibliotecaFiredac,todasessasinformaessobaseadasnaversoXE6,aqualaTDSestutilizandoemseustreinamentos,noinstalamosaversoXE7,comissoqualqueralteraoque,esehouver,estareicomentandonosprximosartigos.AgoravamoscolocaramonamassaedesenvolvernossaprimeiraaplicaoutilizandoDelphiXE6eFireDac.Emnossoprimeiroexemploiremosfazerumaconexosimples.Informaesimportantesparaoprojetoqueiremosdesenvolverlogoaseguir,iremostrabalharcomobancodedadosFirebird2.5usandoobancodedadosquevemcomoexemploemsuainstalao,queobancodedadosEmployee.fdbeoDelphiXE6.

    AbraoDelphievamosiniciarnossoexemplopassoapassoMenu>File>New>VCLFormsApplicationDelphi

    IremosSalvarosarquivosquefazempartedenossaaplicao,primeiramenteaUnit:Unit>UAcessoDadosProjeto>PAcessoDadosApssalvarosarquivosiremosrenomearoFormFormFrmAcessoDadosAplicaodeveestardestaforma

  • ApsiremosadicionarnossosfamososcomponentesDBNavigatoreDBGrid,comasseguintesmudanasdePropriedades.ODBNavigatoriremosmudarapropriedadeAlingparaAltopODBGridiremosmudarapropriedadeAlingparaAlClientAplicaodeveestardestaforma

    ComissoiremoscomearatrabalharcomaBibliotecaFireDac,adicioneoscomponents:TFDConnectioneTFDQueryenossocanaldecomunicaocomoscompoentesDataWareoDataSource.Aplicaodeveestardestaforma

    Agorairemoscomearaconfiguraroacessoadados,logicamentepeloocomponentedeacessoadadosoFDConnectio1.IremosmudarapropriedadenamedoFDConnectionparaconexoealterarapropriedadeLoginPromptdeTrueparaFalse,paranoficarsolicitandoousurioesenhadobancodedados.Aps,deumduploclicknocomponenteconexo,poisnestemomentojmudamosonomedocomponentedeconexo,comissoiraparecerateladeconfigurao:Aplicaodeveestardestaforma

  • NoPrintacimapodemosobservarapropriedadeselecionadaDriverID,aiqueselecionamosodriverdeacessoabancodedadosqueiremosutilizar,lembrandoque,naespecificaoacimadabibliotecatemosadescriodosbancossuportados,maiscomomencioneiacima,iremostrabalharcomoFireBirdcomobancodedadosemnossaaplicao,comissotemosasconfiguraesabaixo,primeiroselecioneoDriveFBquecorrespondeaoFireBird.ApsteremosqueinformaasseguintespropriedadesObancodedadosqueiremosusarnapropriedadeDataBaseInformarousuriodobancodedadosnapropriedadeUser_NameInformarasenhadobancodedadosnapropriedadePasswordAplicaodeveestardestaforma

    Aps,clicknobotoTestparaconferirseconseguimosestabeleceraconexocomnossobancodedados,deveraparecerumateladeconfirmaocomosdadosqueinformamosusurioesenha,eaisclicarnobotook,eteremosamensagemdaconexoestabelecidacomsucesso.Aplicaodeveestardestaforma

    ApartirdestemomentotemosaconexoestabelecidacomobancodedadoseiremosexecutarnossoselectsimplesnatabelaCUSTOMERquetemosnobancodedadosdeexemplo,quevemcomainstalaodoFirebird,utilizaremosocomponenteTFDQueryondecomearemosamodificalo.UmainformaointeressantequeosnovoscomponentesdoDelphiseinterligamautomaticamente,porexemplo,seseguiuaordemde

  • queosnovoscomponentesdoDelphiseinterligamautomaticamente,porexemplo,seseguiuaordemdecolocaroTFDConnectionprimeiroedepoisoTFDQuery,irperceberqueapropriedadeConnectiondoTFDQueryestarpreenchidacomoconexo.Aps,teremosqueinformaasseguintespropriedades.MudaremosapropriedadeNamedoFDQueryparaFDQCustomerAps,daremosumduploclicknocomponenteFDQCustomerparaabriroQueryEditorondecolocaremosainstruoSelect*FromCUSTOMER.Aplicaodeveestardestaforma

    Clicknobotoexecuteparaconferirsenossainstruoestcorreta,estandotudocerto,teremosoretornodosdadosnoGriddaAbaRecordSet.Aplicaodeveestardestaforma

    Aps,clicknobotoOkeiremosconfigurarnossoDataSourceInformaremosasseguintespropriedadesMudaremosapropriedadeNamedoDataSourceparaDSCustomerMudaremosapropriedadeDataSetapontandoparaoFDQCustomerAgorairemosapontaraspropriedadesDataSourcedoDBNavigatoredoDBGridparaoDSCustomer.Aplicaodeveestardestaforma

  • Faltaadicionardoiscomponentesessenciaisparanossaaplicaoserexecutada,sooscomponentesTFDPhysFBDriverLink,queocomponentequevinculaoDriverFB,ouseja,doFirebirdanossaaplicaoeocomponenteTFDGUIxWaitCursor,queocomponente,quepermitecontrolarmosocursordeespera.Observemquenoprecisamosalterarnadaneles,somenteadicionalos,elessoobrigatriosemnossasaplicaes,quandoutilizamosaBibliotecaFireDacoTFDPhysFBDriverLinkusadoparaacessoaofirebird,nosdemaisbancossuportado,existeoDriverLinkprprio.Aplicaodeveestardestaforma

    ComissoiremosselecionaroFrmAcessoDadosecodificaroseventosOnShoweOnClosecomoscdigosabaixo.CdigodoEventoOnShowprocedureTFrmAcessoDados.FormShow(Sender:TObject)beginFDQCustomer.Open()endCdigodoEventoOnCloseprocedureTFrmAcessoDados.FormClose(Sender:TObjectvarAction:TCloseAction)beginconexao.CloseFDQCustomer.CloseendAplicaodeveestardestaforma

  • TeclandooF9doseuteclado,teremosacompilaodonossocdigoeaexecuodenossaaplicao.Aplicaodeveestardestaforma

    ChegamosconclusodenossoexemplodeconexodedadoscomaBibliotecaFiredac.EsseoprimeirodevriosartigosqueteremosemnossoBlog,todasemanaumartigodiferenteondeiremosexploraromximoabibliotecaFireDAC.Baixeoprojetodesteartigo.ProjetoSobreoAutorLeandroMatosProjectManagerdaTDSTecnologiaTrabalhandocomDelphideste1997InstrutorDelphiCertificadoCertificadoMasternaferramentaDelphiCertificadoInstructornaferramentaDelphi

    2comentrios tdstecnologiasp Artigos

    2ResponsestoConhecendoBibliotecaFireDACdeacessoadadosParteI

    Leandro,boanoite.Muitobomocontedo,estadeparabnspelamatria.EstoupensandoemmigrarparaoXe7paracomearadesvendarocaminhodaspedrasparaaplataformadoAndroid,tenhoumagrandedvida,porfavortentemeajudar.HojetodaminhabasededadosfeitaemMySQLpelafacilidadedeacessoviawebsiteeaplicaoDesktop,minhaduvidasepossvelfazerumaaplicaoparaAndroidequeseconectacomumabasededadosMysql?Obrigadoenovamenteparabns.ThiagoGobatti2denovembrode2014at8:07pm

    Responder

    Thiago

    Gobatti

    Atendimentooffline

  • Artigomuitobom.Excelentedidtica.Esperoansiosamenteasegundaparte.2dedezembrode2014at2:51pm

    Responder

    DeixeumarespostaOseuendereodeemailnoserpublicadoCamposobrigatriossomarcados*

    Nome*

    Email*

    Site

    Comentrio

    Publicarcomentrio

    Avisemesobrecomentriosseguintesporemail.

    Avisemesobrenovaspublicaesporemail.

    RESTCLIENT(PART1) RESTCLIENT(PARTII)

    Design&DesenvolvimentoSummitDesign

    GilbertoH.

    DeSouza