C# - Usando o banco de dados SQLite - 1


Eu já publiquei um artigo sobre a utilização do SQLite com o VB .NET e agora vou tratar do mesmo assunto usando a linguagem C#.

O SQLite é um banco de dados free de domínio público e ao contrário do SQL Server , Oracle ou outro banco de dados comercial ele não é um programa independente e não possui um servidor. Ele é uma pequena library escrita em C que outras aplicações podem chamar.

Um banco de dados SQLite é um apenas um arquivo único onde as tabelas os dados, triggers, chaves primárias e estrangeiras estão todas contidas. A sua aplicação lê e escreve no banco de dados pela chamada do SQLite. Quando você realizar um SELECT ou UPDATE o SQLite lê e escreve para este arquivo.

Se você efetuar atualizações em uma transação SQL o SQLite verifica se você possui acesso exclusivo ao arquivo e você pode fazer uma cópia de segurança apenas copiando o arquivo do SQLite.

Em resumo você pode usar o SQLite como qualquer outro banco de dados mas por trás dos panos você estará usando uma pequena livraria de código a qual esta armazenando seus dados em um arquivo.

Um detalhe, o SQLite esta sob domínio público, e assim qualquer um pode copiar, modificar, publicar, usar, compilar, vender ou distribuir o código original do SQLite para propósitos comerciais ou não comerciais. Não há restrição alguma no SQLite.

O SQLite suporta a maior parte dos recursos da linguagem SQL padrão com algumas limitações.Como o SQLite escreve e lê para um arquivo em um drive as únicas permissões disponíveis são as permissões de leitura e escrita para o próprio arquivo então não há como usar os comandos GRANT e REVOKE. Para uma relação das limitações visite este link: http://www.sqlite.org/omitted.html

O SQLite dá suporte a transações ACID (Atomic, Consistent, Isolated and Durable). O que significa que uma transação no SQLite irá ocorrer completamente ou não.

Por tudo isso creio que vale a pena considerar a utilização do SQLite quando o cenário for favorável a sua utilização mas lembre-se que ele possui limitações e que isso nem sempre será possível.

O tamanho do SQLite configurado é no máximo de 300 KB por isso ele é indicado para pequenas aplicações (portáveis) especialmente aplicações que não precisam rodar on-line onde os dados são armazenados em um arquivo local e o banco de dados trabalha sem uma conexão com internet.

Você pode obter mais informações e fazer o download do SQLite na página oficial: http://www.sqlite.org/index.html

Dica: Usando o Nuget você pode facilitar o seu trabalho e baixar o pacote com o connector no seu projeto.  (Veja este artigo  .NET - Apresentando o Nuget - Macoratti.net )

Usando o SQLite com a plataforma .NET

Como o SQLite possui um APi escrita em C ele é considerado um código não gerenciado, apesar disso existe um excelente provedor de dados ADO .NET open source para o SQLite que permite usá-lo com muita segurança na plataforma .NET. Você deve portanto baixar e instalar este provedor para poder usá-lo em suas aplicações. Pegue o provedor aqui :http://sourceforge.net/projects/adodotnetsqlite/

Existem muitas ferramentas para gerenciamento e criação de banco de dados no SQLite no link abaixo você pode encontrar muitas dessas ferramentas: http://www.sqlite.org/cvstrac/wiki?p=ManagementTools

Eu vou usar o SQLite Administrator que você pode baixar aqui: http://sqliteadmin.orbmu2k.de/;

Obs: No artigo para VB. NET eu usei outra ferramenta.

Após fazer o download do SQLite instalar e em seguida instalar o provedor para ADO .NET instale por último o SQL Administrator.

Após a instalação ao abrir o programa e selecionar o idioma português você verá a seguinte tela:

Para criar o banco de dados basta selecionar no menu Database a opção Novo e informar a localização e nome do arquivo.

Para o exemplo deste artigo eu vou criar o banco de dados MacorattiSQLite.db na pasta c:\dados;

Para criar uma tabela clique no item Tabelas e selecione Criar Tabela;

Informe o nome da tabela e clique no botão adicionar campo para incluir os campos informando o tipo de do campo e o valor padrão;

Eu vou criar uma tabela chamada Alunos com a seguinte estrutura:

Podemos inclusive obter a instrução SQL para gerar a tabela via script:

Para incluir dados na tabela podemos usar a janela de consulta SQL informando a instrução SQL :

Para editar os dados temos a janela Edita Dados:

Dessa forma já temos o nosso banco de dados e tabela criados no SQLite e prontos para serem usados na nossa aplicação C#.

Eu vou criar uma aplicação usando o SharpDevelop 3.2 mas podemos usar o Visual C# Express Edition o resultado final é o mesmo.

Abra o SharpDevelop 3.2 e no menu Arquivo selecione Nova -> Solução;

No formulário padrão mainForm.cs inclua um controle DataGridView (gdvAlunos) e um botão de comando (btnCarregarDados) conforme o leiaute abaixo:

Agora vamos incluir a referência ao SQLite no projeto. Clique no menu Projeto => Adicionar Referência;

A seguir na aba - Navegador de Assembly .NET - clique em navegar e selecione a dll do SQLite na pasta onde foi instalado e clique em OK;

Agora vamos definir os namespaces usados no projeto:

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using System.Data.SQLite;
using System.Data;

Agora no evento Click do botão de comando inclua o seguinte código:

void BtnCarregarDadosClick(object sender, EventArgs e)
{
	DataTable dt = new DataTable();
	
	String insSQL = "select * from Alunos";
	String strConn = @"Data Source=C:\dados\MacorattiSQLite.db";
	
	SQLiteConnection conn = new SQLiteConnection(strConn);

	SQLiteDataAdapter da = new SQLiteDataAdapter(insSQL,strConn);
	da.Fill(dt);
	gdvAlunos.DataSource = dt.DefaultView;
}

Executando o projeto iremos obter o resultado abaixo onde estamos exibindo os dados da tabela Alunos no DataGridView:

Dessa forma encerramos aqui essa primeira etapa onde apenas acessemos os dados de uma tabela do SQLite vamos continuar realizando as operações CRUD em outro artigo , aguarde...

Pegue o projeto completo aqui : AcessoSQLite.zip

Eu sei é apenas C# com SQLite mas eu gosto...

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

  Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter

Referências:


José Carlos Macoratti