quarta-feira, 27 de maio de 2009

Começando com Delphi/Firebird

Antes de tudo queria lembrar a todos que esse blog é para iniciantes, então vou explicar tudo nos miiiiinimos detalhes, mas se tiver informações que pessoas mais experientes necessitam, fiquem a vontade..rs.
Aqui vou eu para minha primeira postagem, começarei com Delphi 2007 e Firebird, não posso dizer se o Delphi melhorou ou piorou, pois nunca usei versões anteriores, mas posso dizer que gostei bastante da linguagem e não tive muitos problemas com essa versão (apesar de não usar muito do potencial dela) e o velho e conhecido Firebird dispensa comentários.
Partirei do principio que você já criou seu banco no firebird com suas tabelas devidamente relacionadas, e um projetinho VCL Forms no Delphi para os testes (em uma outra postagem faço esse processo passo a passo).
Antes de tudo copie a dll fbclient (C:\Program Files\Firebird\Firebird_2_1\bin\fbclient.dll), para a pasta do seu projeto, assim você evita problemas de incompatibilidade de versões do firebird, só ai você cria o banco e expecifica que vai usar a fbclient que está dentro da pasta do projeto, já dentro do Delphi com seu projeto aberto, crie um data module, lá vão ficar todas as suas conexões para que você não deixe elas espalhadas pelos forms e depois fique perdido ( já passei por isso...rsrs).
Click com o botão direito do mouse no seu projeto selecione add new - Other..., como mostra a figura abaixo



Depois disso selecione a opção Data Module, será criada uma Unit pra você que é seu Módulo, na propriedade name dele, dê o nome que você quiser, eu costumo usar "dm".
Agora com seu módulo criado vá na palheta dbExpress e coloque no seu módulo um SQLConnection, e dê o nome que você quiser pra ele, eu deixo SQLConnection1 mesmo pois só uso um por projeto, dê dois click's no SQLConnection e adicione uma conexão, clicando no sinalzinho dê '+' , na tela que vai abrir selecione o Driver Name como Interbase e no Connection Name dê o nome que quiser (de preferência que tenha a ver com a aplicação) e OK, sua conexão já está na listas de conexões do seu SQLConnection, selecione ela e nas opções do lado direito vá em Database, lá coloque o caminho do seu banco, na frente do caminho coloque a palavra "localhost:" para evitar alguns probleminhas de conexão (lógico que isso vc coloca se seu banco for local), agora teste a conecção, ele vai pedir login e senha, coloque o padrão do firebird, ou o que você especificou na hora de criar o banco, se o teste deu OK, pode dar um OK nessa tela e sua conexão com o banco está pronta, mude a opção LoginPrompt do seu SQLConnection para false, se não ele vai ficar pedindo login e senha toda hora.
Agora vamos trazer os dados das tabelas para o projeto, coloque no seu módulo um SQLQuery da palheta dbExpress, um dataSetProvider da palheta Data Access, um ClientDataSet da palheta Data Access e um DataSource tb da palheta Data Access. Não se assuste com a quantidade de componentes, com o tempo eles aumentam...rsrs, você pode fazer a conexão via código, mas se for fazer assim eu sugiro usar o Csharp, o Dephi costumo usar para aplicações que preciso terminar logo e que sejam simples, quando preciso de algo mais elaborado uso o Csharp, depois postarei como fazer uma aplicação em camadas no Csharp.
Voltemos ao projeto, primeiro mude os nomes dos componentes, como bom costume use as siglas padrões para cada um deles, assim qualquer programador que olhar seu código, vai entender melhor, vou usar como exemplo uma conexão com uma tabela chamada clientes:
SQLQuery = qry_clientes
dataSetProvider = dsp_clientes
ClientDataSet = cds_clientes
DataSource = ds_clientes
Passarei a usar essas siglas a partir de agora, o primeiro que vamos mexer é o qry_clientes, na opção SQLConnection dele você seleciona o SQLConnection que criamos, deve estar com o nome "SQLConnection1", agora dê dois cliques na opção SQL, irá abiri um editor para você digitar o comando SQL, como queremos todos os campos da tabela digitq "Select * from Clientes" (sem as "" e com o nome da sua tabela no lugar de "Clientes"), agora mude a opção Active para true, se você fez tudo certinho ele mudará na boa, se não vai dar algum erro, ai você revisa tudo que fez até agora para achar o erro, agora com o qry_clientes ativado dê dois cliques no componente, na telinha que vai abrir clique com o botão direito do mouse e selecione a opção Add all fields, e todos os campos da sua tabela estarão disponíveis para serem utilizados, mas antes temos que configurar os outros componentes, para usarmos seus métodos.
Selecione seu dsp_clientes, na propriedade DataSet coloque o qry_clientes, agora selecione o cds_clientes, na propriedade ProviderName selecione o dsp_clientes, mude a propriedade Active para true, dê dois cliques no componente e selecione Add all fields, igual você fez com qry_clientes, agora selecione o ds_clientes, na propriedade DataSet dele selecione o cds_clientes e pronto, com todos eles ligados e funcionando, seu banco e sua tabela estão conectadas no seu projeto, agora repita o procedimento para cada tabela que for usar, e procure deixar os componetes na ordem das conexões dentro do módulo, para ficar mais facil de lembrar como conecta depois, com o tempo você acaba decorando...rsrs, vou colocar abaixo um print de um módulo meu para vocês verem a ordem:



espero ter ajudado alguém...rsrs....na próxima postagem mostrarei como gravar, alterar e excluir os dados do banco.
Qualquer dúvida deixe um recado com seu e-mail que eu entro em contato assim que possível.

2 comentários:

  1. interessante meu chapa que tal umas video aulas ???? pessoas gosta muito de video aulas.... coloca no youtube mesmo ;]

    e esse anonimo ai te mandando beijo ???? devia ser anonima neh nao ?? huAEAHEUAHE

    abracos chapa

    ResponderExcluir