• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Redmar

Tabela com Lazarus

22 mensagens neste tópico

Sou novato aqui, não entendo DELPHI, alguém sabe com ver uma tabela mysql com lazarus. Não sei nem começar, já ouvi falar que precisa de uma bliblioteca ZEOS mas não entendi bem. (vi num tutorial Lazarus)

Valeu galera

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Realmente é capaz de ser triste, com esse português é difícil que alguém perceba o que queres.

Percebi que és novato no fórum, agora não sei se queres dizer que não programas com Delphi ou se não programas, se estás a usar Lazarus para criar algum programa, de que forma é que queres ver a tabela e porque raio queres ver uma tabela com o Lazarus? Na realidade não percebi a dúvida.

Gostaria que desses um vista de olhos a este tópico, http://www.portugal-a-programar.pt/guidelines/, e depois refizesses a tua pergunta.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Quanto ao portuga foi mal, digitei muito rápido. Escreveu não leu...

Na verdade quero fazer um form que veja uma tabela, e depois criar um relatório simples desta tabela.

Já programei com Visual Fox Pro e o Jurassico Clipper, mas não mexo com isto há muito tempo, nunca fui bom nisso, por isso peço HELP.

Valeu pala atenção, espero ancioso por ajuda!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Neste momento não tenho o Lazarus configurado de forma a dar uma ajuda melhor, mas posso indicar-te dois link, ou melhor, 3, que te poderão ajudar a colocar tudo a funcionar.

Esta wiki possui bastante informação sobre o uso do IDE, http://wiki.lazarus.freepascal.org, e podes encontrar documentação sobre acesso a motores de bases de dados no seguinte endereço, http://wiki.lazarus.freepascal.org/Databases.

Se quiseres usar os componentes do ZEOS, não é obrigatório, podes seguir estes passos. http://zeos.firmos.at/viewtopic.php?p=2005.

Vou ver se consigo configurar o Lazarus caso não consigas colocar tudo a funcionar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já agora, não perguntei que SO tinhas, mas pode ser importante.

Por omissão o Lazarus não trás os componentes de acesso a base de dados instalados, isto está relacionado com o facto de ainda não ser suportada "linkagem" dinâmica, pelo que para teres acesso aos componentes descritos nos links que te dei, tens de instalar os componentes e recompilar o Lazarus.

É algo bastante simples de fazer, coisa para demorar alguns 30 segundos :), caso tenhas um separador chamado SQLDB então tens os componentes instalados, aí tens os componentes de acesso a mysql, se não tiveres esse separador então terás de instalar os componentes.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Na barra de ferramentas dele vem este SQLDB, acho q já esta instalado.

Do link q c me deu vi o Laz report e to baixando.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Laz Repor baixei e nada, n tem nenhum prog de instalação só cria um diretório lazreport c outros sub, mas no programa do Lazarus não sei como usa-lo n vejo nenhuma ligação entre eles? No visual fox pro era tudo um prog só aqui parece q é separado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sendo um componente terás de instalar o componente no IDE.

Menu Components >Open Package File (.lpk), navegas até ao ficheiro do componente e seleccionas o ficheiro. Irá aparecer um gestor com a indicação do que será instalado e no topo da janela existe um botão para instalar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

começou a melhorar, instalei o lazreport, baixei o laz mas n sabia que tinha q ir la em componentes... só vc pra me dar esta dica,

Mas, ainda n sei usar as tabelas do banco mysql.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para te ligares a uma base de dados MySQL vais precisar de usar um componente TConnection, um TDataSource, um TTransaction e um TDataSet, estes componentes estão disponíveis através de TSQLCOnnection, TDataSource, TSQLTransaction e TSQLQuery. Excepto o TDataSource, todos os componentes estão no separador SQLDB, o TDataSource está no separador DataAccess.

Todos estes componentes irão estar ligados entre si para te darem acesso aos dados, a ordem de dependência é, de forma genérica, a seguinte: connection > dataset > datasource > componente visual para mostrar os dados. O componente TTransaction é usado para ligações a MySQL mas pode não ser usado noutras bases de dados.

Para ilustrar alguns passos simples fiz um pequeno teste, criei uma base de dados chamada lazarus-test, com uma tabela,pessoa, que contem 5 registos.

Primeiro adicionei os componentes e criei as configurações base da connection, nome da base de dados, endereço, username e password, e deixei a propriedade Connected a False, se a mudasse para True o IDE ia tentar ligar à base de dados, para já não quero isso.

01tk7.th.png

Configurei o DataSet, neste caso um SQLQuery, para usar a Connection anterior, não activei o DataSet uma vez que também não activei a Connection.

02aa5.th.png

Adicionei a query que queria executar. Este vai ser o SQL que este DataSet vai executar quando for activado, apenas os dado fornecidos por esta consulta estarão disponíveis.

04zw3.th.png

O DataSource tem também de ser configurado, neste caso basta indicar qual o DataSet que se irá utilizar.

05bm0.th.png

Como se pode ver, tinha adicionado uma DBGrid, este componente permite apresentar dados vindos de uma base de dados através de uma tabela, este e outros componentes de acesso a dados estão no separador DataControls. Este separador inclui todos os componentes visuais que permitem, de alguma forma, mostrar dados de bases de dados, sejam tabelas, caixas de combinação, listas, caixas de texto, etc.

06us8.th.png

Finalmente adicionei o componente que faltava, o SQLTransaction e configurei-o para usar a Connection. Configurei também a Connection para usar esta Transaction e o DataSet para usar, também, a Transaction. Assim ficamos com dois componentes a usar a mesma Transaction.

Depois de configurados, activei todos os componentes, e os dados apareceram imediatamente no IDE.

07vq0.th.png

Podemos correr a aplicação dentro do IDE ou, como eu optei, compilar e correr fora do IDE para vermos como se comporta. Neste caso a aplicação é feia :), a DBGrid não ficou configurada para se expandir automaticamente, as colunas estão muito grandes, enfim, podia ter sido mais polida.

08xn7.th.png

Bem, tenho de pedir desculpa pelo tamanho das imagens mas não tive muito tempo para fazer esta resposta e tive de me despachar, não deu para redimensionar ou melhorar o aspecto.

Com isto, espero pelo menos colocar-te no caminho, não servirá para resolver todas as dúvidas mas deverá dar para fazer uma ligação :P.

Como é natural, estes passos foram feitos demasiado depressa e apenas servem como demonstração muito crua de como fazer a ligação a uma base de dados. Existem muitos mais pormenores que podem e devem ser limados, como as configurações do DataSet e da Transaction, para melhorar tempos de acesso, propriedades de edição, etc., isso terá de ser algo que tens de explorar.

As propriedades são bastante simples de seguir, os nomes são sugestivos, e quando alguma coisa não funciona logo as mensagens de erro são bastante elucidativas, pelo menos no que toca a alguma propriedade em falta.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Segui passo o q me mandou, mas Ide a grade n apareceu, parece q n foi feita a comunicação. O dbgride fica do mesmo jeito vazio, sem nenhum campo.

O banco q to testando usa como database name "pr" e  user "sis".

Onde direciono o diretório p ele chegar a este banco?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Peço desculpa mas vais ter de ter mais atenção à forma como escreves, é que português do Brasil é suficientemente diferente para estar a ler e não perceber metade do que dizes :D

Onde direciono o diretório p ele chegar a este banco?

Ora bem, suponho que queiras saber onde colocas o endereço da base de dados que estás a tentar aceder, se é isso, então nas propriedades da connection tens os campos para preencher. No campo HostName colocas o endereço para o servidor de bases de dados, no campo DatabaseName o nome da base de dados, etc.

Hum... por alguma razão a primeira imagem não está a aparecer, vamos ver se a consigo colocar outra vez.

01ew5.th.png

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ufa foi, Agora foii. Só acrescentei  TODBDC Connection. Não te falei q o banco de dados estava em rede, coloquei o endereço IP da onde estava o banco. Fui no Painel de controle - Ferramentas administrativas - Fontes de dados OBDC e copiei os dados para fazer a conexão com o banco. Ele fez exatamento como vc mostrou no seu passo a passo.

Show de bola - Uma luz no fim do tunel começa a surgir.

Mais tarde tentar fazer um relatório, e conto contigo.

Valeu

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mais tarde tentar fazer um relatório, e conto contigo.

Posso tentar ajudar mas nunca usei esse sistema de relatórios :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

FIZ UM RELATÓRIO (LAZREPORT) USANDO UMA TABELA, COLOQUEI OS CAMPOS PROTOCOLO,DATA... LEGAL, MAS SÓ SAI UM REGISTRO POR FOLHA,

QUERO COLOCAR UM REGISTRO EM BAIXO DO OUTRO QUANTOS COUBEREM NUMA FOLHA:

ex.:

1234 01/01/01

1235 01/01/01

1236 01/01/01

1237...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pior só ta colocando um registro provavelmente o primeiro da minha tabela

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Alguma sugestão? Não precisa ser com Lazreport, pode ser de outra forma, to tentando usar o relport manager pra fazer os relatórios, é um programa freeware mais ainda n consegui.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Infelizmente não tenho qualquer experiência com sistemas de reports que não seja em Java, pelo que neste caso não posso ajudar.

Se nenhum outro elemento do P@P te conseguir ajudar podes tentar os fóruns do lazarus.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Valeu amigo,

C me ajudou muito, vou partir pro forum do lazarus.

Obrigado

Redmar

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora