Criando uma aplicação em shell script integrada com o Interbase/Firebird

Neste tutorial iremos criar um aplicação de cadastro de cliente usando shell script com uma base de dados Interbase/Firebird.

[ Hits: 57.749 ]

Por: Alessandro de Oliveira Faria (A.K.A. CABELO) em 10/02/2004 | Blog: http://assuntonerd.com.br


Criando a aplicação



Antes de explicar o conceito/funcionamento, vamos criar os arquivos secundários.

Vamos primeiro criar o arquivo sql01, cujo conteúdo é um comando SQL para localizar o maior código cadastrado:

SELECT "*" || MAX(CODIGO) FROM TAB_CLI_001; EXIT;

O próximo arquivo a ser criado é o execsql01, que simplesmente executa a linha SQL do arquivo sql01:

isql /rede/servdad/BCO.GDB -u SYSDBA -p masterkey -i sql01 | grep '*' | cut -c2-

A aplicação em shell script


Crie um arquivo chamado cadcli com o seguinte conteúdo e sem a numeração de linhas (ressalto que todos estes arquivos se encontram no link mencionado no início do tutorial):

1:mCODI=`./execsql01`
2:mCODI=`expr $mCODI + 1`
3:
4:while [ $mCODI -gt 0 ]
5:do
6:   clear
7:
8:   tput sgr0
9:   tput cup 23 0 ; echo "MSG:....................................."
10:   tput cup 17 1 ; echo "------------------- Informacoes do ultimo cadastro efetuado. ------------------"
11:   tput cup 19 1 ; echo "CODIGO..: $mCODI"
12:   tput cup 21 1 ; echo "NOME....: $mNOME"
13:
14:   mRESP="S"
15:   mNOME="........................................"
16:   mENDE="........................................"
17:   mBAIR="........................."
18:   mTELE="........................................"
19:   mFON1="..............."
20:   mFON2="..............."
21:   mFAXS="..............."
22:
23:   tput cup 0 0 ;echo "NETI TECNOLOGIA - Cadastro de Cliente - `date`"
24:   tput cup 1 0 ; echo "=============================================="
25:   tput cup 3 1 ; echo "CODIGO..:             Sugerido:($mCODI)"
26:   tput cup 5 1 ; echo "NOME....: $mNOME"
27:   tput cup 7 1 ; echo "ENDERECO: $mENDE"
28:   tput cup 9 1 ; echo "BAIRRO..: $mBAIR"
29:   tput cup 11 1 ; echo "TELEFONE: $mTELE"
30:   tput cup 12 9  ;  echo ": $mFON1"
31:   tput cup 13 9  ;  echo ": $mFON2"
32:   tput cup 15 1 ; echo "FAX.....: $mFAXS"
33:
34:   tput bold
35:   tput cup  3 11 ; read mCODI
36:   if [  $mCODI = "FIM" ]
37:   then
38:      exit
39:   fi
40:   tput cup  5 11 ; read mNOME
41:   tput cup  7 11 ; read mENDE
42:   tput cup  9 11 ; read mBAIR
43:   tput cup 11 11 ; read mTELE
44:   tput cup 12 11 ; read mFON1
45:   tput cup 13 11 ; read mFON2
46:   tput cup 15 11 ; read mFAXS
47:  
48:   tput cup 23 4 ; echo -e "CONFIRMA A OPERACAO? \c"  
49:   read mRESP
50:
51:   tput sgr0
52:   if [ $mRESP = S  ]
53:   then
54:      echo "INSERT INTO TAB_CLI_001 VALUES ($mCODI,'$mNOME','$mFON1','$mFON2','$mFAXS','$mTELE','$mBAIR','$mENDE');" | isql /rede/servdad/BCO.GDB -u SYSDBA -p masterkey > /dev/null
55:      mCODI=`expr $mCODI + 1`
56:   fi
57:done

Salve este arquivo com o nome cadcli e dê permissões de execução para o mesmo:

# chmod 770 cadcli

Agora para executá-lo basta digitar:

# ./cadcli

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Criando o banco de dados
   3. Criando a aplicação
   4. Entendendo o código em shell
Outros artigos deste autor

Como instalar um cartão PCMCIA (modem/rede) no meu notebook?

Faça um incrível espetáculo de efeitos visuais com vídeo em tempo real

Membro da comunidade Viva O Linux na Espanha

Utilize qualquer Tablet/Smartphone como monitor estendido sem fio no GNU/Linux

ePub - O MP3 dos livros

Leitura recomendada

Trabalhando com Firebird em múltiplos arquivos de dados

Manual de instalação do Interbase Server no Conectiva Linux

Case de Sucesso com Sistema de Gestão Hospitalar

Como instalar o Interbase 6

Instalando Firebird 1.5 no Ubuntu 10.04 LTS

  
Comentários
[1] Comentário enviado por @l3x@ndr3 f3rn@n em 14/02/2004 - 11:49h

como eu faso para acessar o servudor novell como cliente e derubar ele?

[2] Comentário enviado por polterboy em 12/09/2004 - 14:05h

como eu poderia fazer para enviar vias para ficar uma comigo e outra com o cliente, sendo que por exemplo imprima em uma folha duas vezes para destacá-la ao meio?

[3] Comentário enviado por icekill em 20/03/2005 - 15:13h

Legal, eu ja havia feito isso em mysql com cadastro, consulta etc... tudo em shell script.

Em shell script vai a dica quem for fazer pesquisa de dados use o mysqladmin e informe para soltar dados tabulares assim vc pode fazer a separação dos dados que vc precisar com grep e cut como eu fiz aqui.

T+

[4] Comentário enviado por alfameck em 29/01/2009 - 20:51h

bem interessante esse topico.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts