Gerenciando registros em banco de dados com Zope
Neste artigo vamos aprender como realizar as 4 operações básicas para se trabalhar com o Zope, que são visualizar, inserir, atualizar e deletar registros em qualquer banco de dados que tenha suporte a SQL.
[ Hits: 30.438 ]
Por: Fabio Rizzo Matos em 09/09/2004 | Blog: http://www.vindula.com.br
Visualizando o conteúdo de uma tabela utilizando um critério
Neste exemplo criaremos um formulário para pesquisar todos os ramais de um determinado usuário.
Crie um documento para realizar a busca, agindo como um formulário. Dê a ele o nome de index_html com o seguinte conteúdo:
<FORM action="." method=get>
<P>Digite o Nome da Pessoa que você quer saber o ramal.</P>
<P></P>
<TABLE>
<TBODY>
<TR>
<TH>Nome</TH>
<TD><INPUT name=Usuario width="30"></</TD>
</TR>
<TR>
<TH></TH>
<TD><INPUT type=submit value="Pesquisar Ramal" name=template:method> </TD>
</TR>
<TR>
<TH></TH>
<TD><INPUT type=submit value="Incluir Novo Ramal" name=f_insere_ramal:method> </TD>
</TR>
</TBODY>
</TABLE></FORM>
Se vocês repararem, existe um botão para incluir um novo ramal que usaremos daqui a pouco.
Criaremos um zsql com o:
- id = procura_ramal
- connectio_id = a sua conexão com o banco de dados
- Arguments = Usuário
- query = select * from ramais where Usuario LIKE <dtml-sqlvar "'%' + Usuario + '%'" type=string>
Agora criaremos um
dtml-method para visualizar os resultados. Ele deverá ser chamado de template, e terá o seguinte código:
<dtml-var standard_html_header>
<dtml-in procura_ramal size=20 start=query_start>
<dtml-if sequence-start>
<dtml-if previous-sequence>
<a href="&dtml-URL; &dtml-sequence-query; query_start=&dtml-previous-sequence-start-number;">
(Previous <dtml-var previous-sequence-size> results)
</a>
</dtml-if previous-sequence>
<h2>Buscando <dtml-var Usuario> em <dtml-in zsql_contagem_ramais><dtml-var contagem></dtml-in> Ramais Cadastrados</h2>
<h4>Sua Busca Retornou <dtml-in procura_ramal_conta><dtml-var contaresultado></dtml-in> Ramal(is)</h4><br>
<table border>
<tr>
<th>Usuario</th>
<th>Unidade</th>
<th>Ramal</th>
<th>Radio</th>
<th>Celular</th>
<th>Email</th>
<th></th>
</tr>
</dtml-if sequence-start>
<tr>
<td><dtml-var usuario null=""></td>
<td><dtml-var unidade null=""></td>
<td><dtml-var ramal null=""></td>
<td><dtml-var radio null=""></td>
<td><dtml-var celular null=""></td>
<td><a href="mailto:<dtml-var email null="">"><dtml-var email></a></td>
<td><a href="template_altera_ramal?Cod=<dtml-var cod>&usuario=<dtml-var usuario>&unidade=<dtml-var unidade>&ramal=<dtml-var ramal>&radio=<dtml-var radio>&celular=<dtml-var celular>&email=<dtml-var email>"><img src="edit_icon"></a></td>
</tr>
<dtml-if sequence-end>
</table>
<dtml-if next-sequence>
<a href="&dtml-URL; &dtml-sequence-query; query_start=&dtml-next-sequence-start-number;">
(Next <dtml-var next-sequence-size> results)
</a>
</dtml-if next-sequence>
</dtml-if sequence-end>
<dtml-else>
<br><font size="5" face="verdana">Não foi encontrado nenhum ramal com o nome <b><dtml-var Usuario></b></font>
<br>
<br>
</dtml-in>
</table>
<p><strong></strong> </p>
<dtml-var standard_html_footer>
Como vocês podem ver, este código já deixa um link para podermos
editar as informações dos ramais já adicionados.
Agora, você já pode buscar os ramais cadastrados. Vamos ver como inserimos ramais.
Página anterior Próxima página
Páginas do artigo
1.
Introdução
2.
Visualizando o conteúdo de uma tabela
3. Visualizando o conteúdo de uma tabela utilizando um critério
4.
Inserindo um novo ramal
5.
Atualizando e deletando as informações de uma tabela
6.
Conclusão
Outros artigos deste autor
Instalando um servidor Zope/Plone
Criando formulários no Zope/Plone utilizando o banco de dados MySQL
Instalando o MySQL no Zope/Plone e criando uma pequena aplicação
Utilizando as bibliotecas do Java usando o Jython
Customizando o layout do plone
Leitura recomendada
ZPT - Zope Pages Templates
Utilizando o Python como calculadora
Instalação Plone 2.5.5 com módulos customizados
Utilizando as bibliotecas do Java usando o Jython
Aprenda Python - Guia "rápido"
Comentários
Nenhum comentário foi encontrado.