Jump to content
Hercles

Conectar um programa em Lazarus ao BD MYSQL

Recommended Posts

Hercles

Eu tenho que baixar o MYSQL? como acesso ? Com eu conecto este tipo de Banco ao Programa para consulta e alterar um nome de funcionário?

Share this post


Link to post
Share on other sites
nunopicado

Sim, se não tens já o MySQL instalado, tens de o fazer.

Podes transferir o MySQL directamente, ou um dos seus spin-offs, como o Uniserver que é muito mais leve que o MySQL completo.

Podes ainda transferir o MariaDB, um substituto do MySQL dito 100% compatível, feito pelo criador do MySQL depois de o vender.

Qualquer um dele funciona igual para o efeito que queres.

Pessoalmente, gosto mais do MariaDB. Instalação super-simples, pouco mais pesado que o Uniserver, muito mais leve que o monstro MySQL, e tem conectores sob licença LGPL, para ser legal fazer a sua distribuição sem ser com software opensource, ao contrário do MySQL, cuja licença é GPL.

Baixa também o HeidiSQL, uma ferramenta administrativa para MySQL/MariaDB que te permite tratar facilmente de configurações e bases de dados, além de que te ajuda a aprender a "linguagem MySQL".

Quanto à conexão a partir do Lazarus:

Podes usar por exemplo o SqlDB, componente que faz parte do Lazarus.

Pessoalmente prefiro instalar um outro, o ZeosLIB. É o que uso em Delphi, pelo que é a passagem natural para Lazarus. Quando usei para testar o SqlDB achei-o um pouco lento.

Com um ou com outro, irás precisar de algumas informações, que te vêm do próprio MySQL/MariaDB.

Hostname: IP ou nome do computador. O default, para uso local, é 127.0.0.1

Username: O default é root

Password: É a que escolheres durante a instalação do servidor

Porta: O default é 3306

O resto depende do componente que resolveres usar. Escolhe um (SqlDB ou ZeosLIB - quanto a mim vale o trabalho de instalar o Zeos) e diz aqui, que te explico o resto.

Com eu conecto este tipo de Banco ao Programa para consulta e alterar um nome de funcionário?

Agora pergunto eu: Já tens uma base de dados, ou tens de a criar primeiro? Alterar o nome de um funcionário é vago. Isso depende da base de dados.

Quando terminares a instalação deste software, expõe aqui as tuas dúvidas.


"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Share this post


Link to post
Share on other sites
Hercles

O projeto é este:

Citação

 

Um usuário gostaria de fazer uma aplicação com menus do tipo popup para abrir arquivos existentes que contenham informações sobre funcionários de uma empresa. Cada arquivo contém informações sobre funcionários de um departamento da empresa. Para cada funcionário temos os seguintes dados: nome, cpf, salario e idade. A aplicação deve ser capaz de procurar um dado funcionário e atualizar seus dados. No menu principal, ele gostaria de ter as opções de abrir - arquivo, salvar - arquivo, e fechar - aplicação. Num outro item de menu de achar funcionário, alterar -nome-funcionário e alterar -salario e alterar - idade. As informações a serem procuradas ou substítudas devem ser perguntadas ao usuário em tempo de execução. Faça o projeto desta aplicação e implemente esta em Lazarus.

II parte

Na aplicação da questão anterior, refaça o projeto de maneira a usar um banco de dados da sua escolha para armazenar as informações contidas nos arquivos.

1. Faça o projeto desta aplicação e implemente esta em Lazarus.

2 .O aluno deverá enviar o código fonte que execute no Lazarus para ambiente Linux.

 

 

Share this post


Link to post
Share on other sites
nunopicado

Ou seja, terás de ser tu a criar a base de dados.

É simples, mas recomendo que baixes mesmo o HeidiSQL.

Em alternativa, podes pensar em usar antes o SQLite, que para o caso é mais que suficiente, e evita teres de instalar o servidor. Basta o ficheiro da DB, o driver e o componente de acesso,


"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Share this post


Link to post
Share on other sites
Hercles

Este menus do tipo popup é feito com TmainMenu? vou fazer aparte visual e o resto em doses homeopáticas , Estou achando isso muito difícil .... :(:)

Share this post


Link to post
Share on other sites
nunopicado

Sim, tem jeito de ser um TMainMenu.

No entanto, para a 2ª parte com banco de dados, há alterações a fazer. Nomeadamente "Salvar Arquivo" não faz muito sentido.

Quando muito salvar alterações.

Vai pondo as duvidas que se tenta ajudar.

Decide como queres fazer, com qual DB queres fazer, e qual o componente que queres usar (no teu lugar, para este serviço, eu apostava no ZeosLib + SQLite + SQLite Expert como ferramenta de manutnção da base de dados).

Quando tiveres decidido, avisa à medida que surjam as duvidas.


"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Share this post


Link to post
Share on other sites
Hercles

mas tenho que baixar os três ZeosLib + SQLite + SQLite ou só um? Tem a versão pra Linux? Sabe aonde eu baixo facilmente?

Share this post


Link to post
Share on other sites
thoga31

Já experimentaste pesquisar e ver se há links para download nos sites oficiais?

  • Vote 1

Knowledge is free!

Share this post


Link to post
Share on other sites
nunopicado

mas tenho que baixar os três ZeosLib + SQLite + SQLite ou só um? Tem a versão pra Linux? Sabe aonde eu baixo facilmente?

ZeosLIB: Não é obrigatório, mas é anos-luz melhor que o SqlDB que vem com o Lazarus.

http://sourceforge.net/projects/zeoslib/

SQLite: Se vais usar SQLite, sim, é preciso.

No caso, não é preciso instalar nada, basta uma DLL chamada sqlite3.dll

http://www.dll-files.com/sqlite3.zip?0WKmRFUEhV

SQLite Expert.

Também não é obrigatório, mas sem este, ou outro do género, tens de criar a base de dados toda à mão. Com isto, facilita imenso.

No caso, este é só para Windows.

Para Linux, tens por exemplo este: http://sqliteman.com/page/4.html


"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Share this post


Link to post
Share on other sites
Hercles

O professor diz que objetivo desta matéria ainda não é pra banco de dados, pois virão matérias específicas... Então o que eu entendi não preciso baixar nada no caso do Linux, é isso (SqlDB)? no Windows tem?

Share this post


Link to post
Share on other sites
Hercles

sim. preciso altera salario e idade dos funcionários.... Mas vou ter que saber se é pra fazer dois programa... um só pra mostrar a interface com as TMainMenu e um outro programa pra consulta e alteração (acho que são dois exercícios).

Share this post


Link to post
Share on other sites
nunopicado

O professor diz que objetivo desta matéria ainda não é pra banco de dados, pois virão matérias específicas... Então o que eu entendi não preciso baixar nada no caso do Linux, é isso (SqlDB)? no Windows tem?

Vamos então perceber o conceito:

1º Componentes de Acesso:

O SqlDB e o ZeosLIB são ambos componentes de acesso a base de dados.

Sozinhos não fazem absolutamente nada.

Um e outro conseguem aceder a vários motores de base de dados, entre os quais, o MySQL e o SQLite.

2º Motor de base de dados

Para lhes aceder, é preciso que os motores de bases de dados estejam a funcionar. Como? Isso depende de cada um.

No caso do MySQL, é necessário ter o servidor MySQL a correr. No caso do SQLite, nenhum servidor é necessário.

3º Driver/Conector

Os componentes de acesso não conseguem aceder directamente ao motor de base de dados.

É necessário uma camada intermédia, chamada driver, ou conector.

Para o MySQL, o conector é uma dll chamada libmysql.dll

Para o SQLite, o conector é uma dll chamada sqlite3.dll

No caso do SQLite, o driver inclui o próprio servidor, e é por isso que SQLite não precisa de instalar nenhum servidor. Só a DLL tem tudo.

4º Ferramenta de gestão

Cada motor de base de dados funciona de maneira diferente, mas regra geral, todos precisam de um software que faça a gestão das bases de dados para facilitar o seu funcionamento.

Não é obrigatório, mas dá imenso jeito.

Ou seja, só com o SqlDB é a mesma coisa que teres um carro sem motor nem bancos. Não te serve de nada.

A primeira parte do exercicio é para fazeres com ficheiros. Nada disto é necessário.

Para a segunda parte, deverás precisar pelo menos do motor de base de dados, embora eu recomende que tenhas também o resto.

Percebeste agora como isto das DB's funciona?

sim. preciso altera salario e idade dos funcionários.... Mas vou ter que saber se é pra fazer dois programa... um só pra mostrar a interface com as TMainMenu e um outro programa pra consulta e alteração (acho que são dois exercícios).

Não me parece que é isso que o problema especifica.

Tens de fazer o programa só a usar ficheiros. O interface faz parte do programa, e não faz sentido um programa só para interface. O que lá diz é que primeiro tens de fazer todo o exercício a usar ficheiros.

Na segunda parte, terás de alterar o programa que já fizeste para usar uma DB.

Isto parece-me exercício para vos mostrar a diferença entre trabalhar com ficheiros ou com bases de dados relacionais. E há muitas!


"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Share this post


Link to post
Share on other sites
Hercles

então se eu usar a TMainMenu não vou conseguir salvar alterações no BD, correto? é o que me leva a crê que terei que fazer dois programas..... vou perguntar ao professor

Share this post


Link to post
Share on other sites
nunopicado

Hercles, amigo, presta atenção:

O TMainMenu é um componente de menus. Não grava nada, não abre nada, não faz nada que não o que diz o nome: Um menu principal.

São aqueles menus que vês no topo dos programas com Arquivo, Editar, Janela, etc.

Cada item do menu é como se fosse um botão.

Cada um deles permite-te fazer algo, definido por ti.

Em menos de 1 minuto fazes o menu completo para este programa. O professor já mostrou todas as opções necessárias e tudo.

Mas só o menu não faz nada.

Se fores a um restaurante e te derem o menu, mas não estiver o Chef a cozinhar, não te adianta de muito pois não?

Terás de fazer o programa, preenchendo as opções que o professor te pede:

Abrir um arquivo

Salvar um arquivo

Terminar a aplicação

Achar Funcionário

Alterar Nome Funcionário

Alterar Salario

Alterar Idade

São 7 blocos do programa que tens de fazer, usando ficheiros para guardar informação.

Aliás, eu até diria que são 8, pois precisas também de adicionar funcionários, opção que o professor não colocou (parece-me que de propósito para ver se vocês se safam).

Tudo isto é a primeira parte do exercício. Está bem explicito no enunciado que transcreveste lá em cima.

Para isto, não precisas de bases de dados, nem motor, nem driver, nem componente.

Precisas sim de trabalhar com ficheiros, eventualmente tipados que é o mais fácil para este tipo de exercicio (mais fácil, e melhor também).

Quando terminares o programa, copias o dito para o lado. Aqui começa a segunda parte: Alterar o programa para usar DBs.

Depois de copiado, tens de instalar pelo menos o motor de bases de dados, e começar a alterar o programa para o usar em vez dos ficheiros.

Não tenhas medo de fazer, e muito menos de errar.

Se a cada pequena dúvida paras tudo e vais perguntar ao professor, ele certamente irá perguntar o que raio estás tu a fazer em programação. Enquanto programador, tens de estar apto a reagir aos problemas que te aparecem, ser criativo na sua resolução, e apresentar soluções, não mais problemas.

Edited by nunopicado

"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Share this post


Link to post
Share on other sites
Hercles

sim eu sei que TMainMenu é menu..srsr.... Só pensei que o "botão" salvar do TMainMenu não fosse possível ira lá no BD é salvar a alteração, por exemplo idade do funcionário, devido algum problema de configuração...compatibilidade.... por aqui da pra enviar imagens?

Share this post


Link to post
Share on other sites
nunopicado

sim eu sei que TMainMenu é menu..srsr.... Só pensei que o "botão" salvar do TMainMenu não fosse possível ira lá no BD é salvar a alteração, por exemplo idade do funcionário, devido algum problema de configuração...compatibilidade....

Pois, isso já depende de como configures o sistema.

O ZeosLIB por exemplo tem uma opção AutoCommit que por norma está True. Se a passares a False, as mudanças não são gravadas na base de dados enquanto não executares o método Commit;

Este, se o pusesses no handler do Item Salvar Arquivo podia funcionar dessa maneira.

O SqlDB também lá tem algo do género, embora eu nunca tenha usado.

por aqui da pra enviar imagens?

Sim. Tens de fazer o upload da imagem para a net usando um serviço qualquer tipo imageshack, e depois usar o ícone com a fotografia que aparece no teu editor.


"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Share this post


Link to post
Share on other sites
nunopicado

Esse é um manager do MySQL, semelhante ao HeidiSQL.

Já tens o MySQL instalado?


"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Share this post


Link to post
Share on other sites
Hercles

não. Estou assistindo as aulas primeiro.. minha faculdade é a distancia.... to assistindo agora :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.