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:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
VB .NET - Usando o Banco de dados SQLite - 1 - Macoratti.net