CAPÍTULO 5
Programação visual com Software Livre
EDIT LIN EDITORIAL S.L,  dos autores  Daniel Campos Fernández e José Luis Redrejo.  Prólogo de Benoit Minisini

<< Anterior Próximo >>

Conectando-se por código



Vamos conectar-nos a base de dados Sqlite que criamos no primeiro parágrafo. Dependendo de nossa versão de Sqlite, usaremos o driver chamado sqlite ou o sqlite3.

Para isso criemos um projeto gráfico chamado MisLivro. Criaremos também um formulário chamado Fmain, que será o de arranque, e, dentro dele um controle ColumnView chamado Tabela. Este controle ColumnView mostrará os dados da tabela que havíamos criado nos exercícios anteriores  Figura 19
Figura 19. formulário FMain.

Agora  vamos criar  uma função que  se conecte com a base de dados dentro do código do formulário:

PRIVATE hCon AS Connection

PRIVATE FUNCTION ConectarBase() AS Boolean

IF hCon <> NULL THEN RETURN FALSE

hCon = NEW Connection

hCon.Host = "/home/Usuário/Bases"

hCon.Name = "provas"

hcon.Type = "sqlite"

TRY hCon.Open

IF ERROR THEN

hCon = NULL

message.Error("Erro ao conectar com a base")

RETURN TRUE

END IF

RETURN FALSE

END

Definimos um objeto Connection que será acessível em todo o formulário e representa a conexão a nossa base de dados. Depois escreve-se uma função ConectarBase que retorna FALSE se tiver exito ou TRUE se falhou.

O código implica estes passos:

1. Se já existe uma conexão (se o objeto hCon não é nulo), retornamos imediatamente indicando que já existe uma conexão FALSE, desta forma poderemos chamar sistematicamente esta função de vários pontos sem nos preocuparmos se já existe a conexão ou não.

2.  Criamos o objeto Conexão, que a princípio não está conectado a nenhuma base, e proporcionamos as informações necessária para conectar: preenchemos a propriedade Host, que no caso de uma base de dados com servidor poderia ser um endereço IP, mas no caso do Sqlite é uma local dentro  do  sistema  de  arquivos  (lembre de substituir /home/cientista/  pelo local onde

Você armazenou a base do exemplo); depois indicamos o nome da base de dados (provas), que no caso do Sqlite é também o nome do arquivo que está dentro da pasta /home/usuário/Bases; e por ultimo indicamos o tipo de base de dados que nos conectaremos, e que será sqlite ou sqlite3 de acordo com o desenho que realizamos com o gestor de base de dados do Gambas. Se nossa conexão for com um servidor MySQL, por exemplo, também teríamos que preencher as propriedades Login e Password, com o nome de usuário e senha de acesso ao servidor.

Já que não estamos realmente conectados, podemos preencher todos estes dados na ordem que desejarmos.

3. depois tratamos de abrir a conexão. Se não for possível (por exemplo, por um endereço incorreto ou uma falha no servidor), disparará um erro, que capturamos com o comando TRY.

4. Se ocorrer um erro, fazemos nulo novamente a conexão falida e retornamos com o valor de erro, que segundo decidimos é TRUE.

5. se pelo contrário tivermos exito, retornamos o valor correspondente (FALSE).

A seguir, vamos criar uma função a que chamamos para encerrar a conexão. O algorítimo é simples, se não houver nenhuma conexão, retornamos, caso contrário, encerramos a conexão e a fazemos nula para que em uma próxima chamada a ConectarBase perceba-se que não há uma conexão ativa.

PRIVATE SUB EncerrarConexao()

IF hCon = NULL THEN RETURN

hCon.Close()

hCon = NULL

END







<< Anterior Próximo >>

HOME
           


Cópia literal

Extraído do livro “GAMBAS, programação visual com software Livre”, da editora EDIT LIN EDITORIAL S.L,  dos autores  Daniel Campos Fernández e José Luis Redrejo. Prólogo de Benoit Minisini

LICENSA DESTE DOCUMENTO


É permitido a cópia e distribuição da totalidade ou parte desta obra sem fins lucrativo. Toda cópia total ou parcial devera expressar o nome do autor e da editora e incluir esta mesma licença, adicionando se é uma cópia literal “Cópia literal”. Se é autorizada a modificação e tradução da obra  sem fins lucrativo sempre se deve constar na obra resultante  a modificação o nome da obra original o autor da obra original e o nome da editora e a obra resultante também deverá ser livremente reproduzida, distribuída, ao publico e transformada em termos similares ao exposto nesta licença.

Tradução

Cientista
 (Antonio Sousa)