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: 28.635 ]

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 o MySQL no Zope/Plone e criando uma pequena aplicação

Introdução ao Python (parte 1)

Introdução ao Python (parte 2)

Introdução ao Jython

Utilizando as bibliotecas do Java usando o Jython

Leitura recomendada

Customizando o layout do plone

Escreva poemas com a sua linguagem de programação

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

Python, o curso (parte 1)

CMS Plone 4.1.6 com invólucro Virtualenv + Buildout + Mount Point + BLOB Storage + Unicode UTF-8

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário