VB .NET - CRUD com o SQLite no VS 2013 - II
Neste artigo vou mostrar como acessar o banco de dados SQLite e realizar as operações CRUD usando o VS 2013 e a linguagem VB .NET. Nossa tarefa será criar um banco de dados usando a ferramenta SQLIte Administrator e realizar as operações CRUD no projeto criado na primeira parte do artigo. |
Na primeira parte deste artigo eu criei um projeto
chamado
Acessando_SQLite
onde já definimos o
formulário que será usado no projeto, conforme mostra a figura abaixo:
Vamos agora criar um banco de dados e uma tabela usando a ferramenta SQLite Administrator.
Lembrando que você pode obter essa ferramenta neste link : http://sqliteadmin.orbmu2k.de/
Criando o banco de dados e a tabela no SQLite Administrator
Abrindo o SQLite Administrator veremos o formulário principal com o menu
de opções:
Para criar um novo banco de dados selecione o menu DataBase e clique Novo;
Será aberta uma janela para que você indique o nome e o local onde o banco de dados será criado:
Note que podemos também a versão do SQLite. No nosso exemplo estamos usando a versão SQLite3 DB.
Após isso será aberta a janela exibindo o nome do banco de dados (CADASTRO) e os objetos que podemos criar neste banco de dados;
Para criar uma tabela clique com o botão direito sobre o item Tabelas e no menu suspenso clique em Criar Tabela;
Na janela Criar Tabela faça o seguinte:
Informe o nome da tabela : Contatos;
Clique no botão Adiciomnar Campo (aqui o tradutor para o português cometeu o erro na palavra adicionar)
Informe o nome do campo, o tipo , o valor padrão (se houver) e marque as opções
Clique no botão Adicionar;
Repita a operação para incluir mais campos;
Vamos criar a tabela Contatos com a seguinte estrutura :
Abaixo vemos os campos definidos na janela Criar Tabela:
Para criar a tabela clique no botão Criar.
Ao fazer isso você verá a tabela e os campos criados e para ver o script SQL clique com o botão direito sobre a tabela e a seguir clique em MOSTRAR SQL:
Você pode notar que podemos realizar outras operações como criar índices, views, Triggers, Consultas, etc. A ferramenta é bem intuitiva e fácil de usar.
Dessa forma temos o banco de dados Contatos.db criado na pasta c:\dados\SQLite.
Criando a camada de acesso a dados - DAL
Para não colocar o código de acesso a dados misturado com a camada de apresentação eu vou criar uma camada de acesso a dados bem simplificada.
Vou incluir um novo projeto chamado DAL na solução e neste projeto referenciar o SQLite usando o Nuget conforme foi descrito na primeira parte do artigo.
No menu FILE clique então em Add -> New Project;
Selecione o template Class Library e informe o nome DAL;
Faça a referência ao SQLite no projeto DAL usando o Nuget conforme indicado na primeira parte do artigo.
Após referenciar o SQLite vamos criar uma classe chamada AcessoDB.
No menu PROJECT clique em Add Class;
Selecione o template Class e informe o nome AcessoDB;
Agora vamos incluir o código abaixo na classe AcessoDB :
Imports System.Data.SQLite
Imports System.IO
Public Class AcessoDB
Private Shared con As SQLiteConnection = Nothing
Public Shared Function getConexao() As SQLiteConnection
Dim strConexao As String = "Data Source=c:\dados\SQLite\Cadastro.db;Version=3;New=True;Compress=True;"
con = New SQLiteConnection(strConexao)
Return con
End Function
Public Shared Function Salvar(campos As String(), valores As String(), sqlIncluir As String) As Integer
Dim regAfetados As Integer = -1
Try
getConexao()
con.Open()
Dim cmd As New SQLiteCommand(sqlIncluir, con)
cmd.CommandType = CommandType.Text
cmd.CommandText = sqlIncluir
For i As Integer = 0 To valores.Length - 1
cmd.Parameters.AddWithValue(campos(i), valores(i))
Next
regAfetados = cmd.ExecuteNonQuery()
Return regAfetados
Catch ex As Exception
Throw ex
Finally
con.Close()
End Try
End Function
Public Shared Function Alterar(campos As String(), valores As String(), sqlAlterar As String) As Integer
Dim regAfetados As Integer = -1
Try
getConexao()
con.Open()
Dim cmd As New SQLiteCommand(sqlAlterar, con)
cmd.CommandType = CommandType.Text
cmd.CommandText = sqlAlterar
For i As Integer = 0 To valores.Length - 1
cmd.Parameters.AddWithValue(campos(i), valores(i))
Next
regAfetados = cmd.ExecuteNonQuery()
Return regAfetados
Catch ex As Exception
Throw ex
Finally
con.Close()
End Try
End Function
Public Shared Function Deletar(campos As String(), valores As String(), sqlDelete As String) As Integer
Dim regAfetados As Integer = -1
Try
getConexao()
con.Open()
Dim cmd As New SQLiteCommand(sqlDelete, con)
cmd.CommandType = CommandType.Text
cmd.CommandText = sqlDelete
For i As Integer = 0 To valores.Length - 1
cmd.Parameters.AddWithValue(campos(i), Convert.ToInt32(valores(i)))
Next
regAfetados = cmd.ExecuteNonQuery()
Return regAfetados
Catch ex As Exception
Throw ex
Finally
con.Close()
End Try
End Function
Public Shared Function getRegistro(sql As String) As DataTable
Dim dt As New DataTable()
Try
getConexao()
con.Open()
Dim cmd As New SQLiteCommand(sql, con)
cmd.CommandType = CommandType.Text
cmd.CommandText = sql
Dim da As New SQLiteDataAdapter(cmd)
da.Fill(dt)
Return dt
Catch ex As Exception
Throw ex
Finally
con.Close()
End Try
End Function
End Class
|
Nesta classe temos os seguintes métodos:
getConexao - retorna uma conexão SQLite;
Salvar - Incluir um novo contato na tabela Contatos;
Alterar - Altera os dados de um contato existente;
Deletar - Exclui os dados de um contato existente;
getRegistro - retorna os dados da tabela Contatos;
A classe AcessoDB possui métodos estáticos que realizam o acesso e a persistência dos dados na tabela Contatos.
Na próxima parte do artigo irei implementar a camada de apresentação e as operações CRUD usando a camada de acesso a dados.
Jesus lhes respondeu,
e disse: A minha doutrina não é minha, mas daquele que me enviou.
Se alguém quiser fazer a vontade dele, pela mesma doutrina conhecerá se ela é de
Deus, ou se eu falo de mim mesmo.
Quem fala de si mesmo busca a sua própria glória; mas o que busca a glória
daquele que o enviou, esse é verdadeiro, e não há nele injustiça.
João 7:16-18
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