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.494 ]

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

ZPT - Zope Pages Templates

Customizando o layout do plone

Criando formulários no Zope/Plone utilizando o banco de dados MySQL

Introdução ao Python (parte 2)

Introdução ao Jython

Leitura recomendada

Python, o curso (parte 1)

Python - Brincando com arquivos

Customizando o layout do plone

Instalação básica do Plone 3 com Buildout no Linux

Utilizando o Python como calculadora

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts