Litebase 1.3 e SuperWaba – Parte 01

Wellington Pinto de Oliveira

Conhecendo os bastidores

Litebase é um sistema de gerenciamento de dados simples (implementado a partir do antigo PDBDriver que será descontinuado pela equipe da SuperWaba) desenvolvido para pequenos dispositivos. Este produto foi lançado juntamente com o SuperWaba versão 5.7 (ver Nota 1). O novo formato interno dos arquivos proporcionou um melhor desempenho do produto, que se tornou também mais robusto.

Encontramos no Litebase os conceitos de chave primária simples, índices simples, etc.. A versão atual não possui Join entre tabelas, esta implementação já está pronta e será lançada na versão 2.00. Nesta versão também devemos ter novidades com relação a chaves, será possível a criação de chaves compostas bem como índices compostos.

                                                                               

Nota 1. Dicas rápidas

1 - A portabilidade do Litebase é baseada na portabilidade do SuperWaba. Para conhecer os equipamentos suportados o programador deve acessar a página http://www.superwaba.com.br/pt/pdas_compativeis.asp;

 

2 - Para o leitor que não conhece o SuperWaba, aconselho a leitura do seguinte PDF: http://www.softpalm.com.br/download/waba.pdf .

Tipos de dados

Os tipos suportados pelo Litebase estão dispostos na Tabela 1.

 

sql-13-06-2008pic01.JPG
Tabela 1
. Tipos reconhecidos pelo Litebase 1.3.

Criando tabelas, chaves e índices

A sintaxe para criar uma tabela é semelhante ao comando:

CREATE TABLE NOME_TABELA (CAMPO1 TIPO, CAMPO2 TIPO,...).


Para fixar a criação de tabelas crie um projeto no Eclipse com o nome “Artigo WebMobile I”. Neste projeto crie um pacote chamado “samples” e dentro deste pacote uma classe chamada “Primeiro”, conforme
Figura 1.

 

sql-13-06-2008pic02.JPG 

Figura 1. Estrutura do projeto

 

Nesta classe vamos criar uma tabela com a estrutura exposta na Tabela 2 e vários métodos que devem manipular a informações nesta tabela. Para isto, digite o código da Listagem 1 na classe Primeiro.


sql-13-06-2008pic03.JPG
Tabela 2
. Campos da tabela PESSOAS

 

package samples;

 

import litebase.LitebaseConnection;

import waba.sys.Settings;

import waba.sys.Vm;

 

public class Primeiro extends waba.ui.MainWindow{

 

  public void onStart()

  {

         //Iniciando a conexão

         LitebaseConnection conn = LitebaseConnection.getInstance(Settings.appCreatorId);

         Vm.debug("Abriu a conexão com: " + Settings.appCreatorId);

        

         //Gerando as SQLs

         String sql_create = "CREATE TABLE PESSOAS(COD_RG CHAR(20),NOME CHAR(50) NOCASE,DAT_NASCIMENTO DATE,HOUR_CADASTRO DATETIME)";

         String sql_key = "ALTER TABLE PESSOAS ADD PRIMARY KEY(COD_RG)";

        

         //Validando se já existe a tabela

         if(!conn.exists("PESSOAS"))

         {

                   try

                   {

         //Este método só pode ser usado para CREATE TABLE, ele é void e

         //não retorna se a instrução foi executada ou não

                            conn.execute(sql_create);

                            Vm.debug("A tabela não existe, então ela foi criada");                     

                           

  //Para criar a chave primária temos que executar uma segunda ação

  //usando o executeUpdate(). Ao criar esta chave estamos garantindo

  //integridade da informação armazenada

                            conn.executeUpdate(sql_key);

                            Vm.debug("Chave e indice criado com sucesso");

                   }

                   catch(Exception ex){

                            Vm.debug("Erro: " + ex.getMessage());  

                   }

         }

         else

                   Vm.debug("Não foi preciso criar pois a tabela já existe");

        

         Vm.debug("Fim");

  }//FIM DO MÉTODO

}

Listagem 1. Código da classe samples.Principal


Para executar o projeto configure o eclipse. Caso não saiba como fazer, recorra ao PDF apontado na Nota 1.

Ao executar o código pela primeira vez, a seguinte resposta é escrita no Console:

 

141 - Abriu a conexão com: HdBA

156 - A tabela não existe, então ela foi criada

172 - Chave e indice criado com sucesso

172 – Fim