Antes de partir para o código em C# para executar uma query e assim criar as tabelas no banco de dados SQLite que neste artigo é o objetivo do mesmo, temos de falar sobre os tipos de dados que o SQLite implementa.
No SQLite, existem apenas 5 tipos de dados, sendo eles:
- NULL - comum em qualquer outro banco de dados.
- INTEGER - inteiro com sinal, armazenado em 1, 2, 3, 4, 6 ou 8 bytes dependendo da grandeza do valor.
- REAL - valor de ponto flutuante armazenado em 8 bytes.
- TEXT - uma string armazenada usando UTF-8, UTF-16BE ou UTF-16LE.
- BLOB - armazena um blob, como indica o nome.
A biblioteca do SQLite implementa recursos de compatibilidade com outros bancos de dados, no site do desenvolvedor essa compatibilidade é tratada como uma espécie de afinidade. Por exemplo, um tipo de dados INT comum em diversos bancos de dados é tratado como um INTEGER no SQLite, abaixo segue uma tabela com uma listagem das afinidades entre os tipos de dados e o SQLite:
Tipo de Dados de Outros Bancos de Dados | Tipo de Dados do SQLite |
INT | INTEGER |
INTEGER | |
TINYINT | |
SMALLINT | |
MEDIUMINT | |
BIGINT | |
UNSIGNED INT BIG | |
INT2 | |
INT8 | |
CHARACTER (20) | TEXT |
VARCHAR (255) | |
CHARACTER VARYING (255) | |
NCHAR (55) | |
CHARACTER NATIVA (70) | |
NVARCHAR (100) | |
TEXTO | |
CLOB | |
BLOB | BLOB |
REAIS | REAL |
DOUBLE | |
DOUBLE PRECISION | |
FLOAT | |
NUMERIC | NUMERIC |
DECIMAL (10,5) | |
BOOLEAN | |
DATA | |
DATETIME |
Basicamente são estes os tipos de dados mais Informações podem ser vistas no site do desenvolvedor do SQLite nesta página.
Partindo para o tema do artigo, vamos estudar como utilizar a classe do System.Data.SQLite, classe esta que executa comandos no banco de dados. O SQLiteCommand é a classe responsável por esta execução de comandos no banco de dados.
O exemplo abaixo mostra como cria no banco da dados SQLite uma tabela chamada Cliente com três campos cliId, cliNome e o cliEmail, vamos aproveitar a rotina mostrada no ultimo artigo que mostrava como criar e abrir uma conexão com o banco de dados SQLite:
SQLiteCommand objCommand; SQLiteConnection objConnection; // Objeto de com o arquivo do banco de dados StringBuilder strConnection = new StringBuilder();// String de com o arquivo do banco de dados // Busco o Diretório de onde minha aplicação esta sendo executada string path = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location); // pego o caminho de onde a aplicação esta sendo executada concateno o diretório com o nome do // arquivo do banco de dados path = path + @"\BaseDados.db"; // Comesso a montar a String de Conexão definindo o Data Source strConnection.Append("Data Source=BaseDados.db;"); // Definindo a versão strConnection.Append("Version=3;"); // Verifico se o arquivo do banco de dados existe para criar ou não um novo banco de dados if (File.Exists(path)) strConnection.Append("New=False;"); else strConnection.Append("New=True;"); // Defino que quero o arquivo em um formato comprimido para economizar espaço em disco strConnection.Append("Compress=True;"); // adiciono ao objeto de conexão a string de conexão formada objConnection= new SQLiteConnection(strConnection.ToString()); // Abro o banco de dados objConnection.Open(); // Crio um novo comando para executar comandos SQL no banco de dados objCommand = objConnection.CreateCommand(); // Adiciono o comando ao SQLiteCommand objCommand.CommandText = "CREATE TABLE CLIENTE (cliId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT," + " cliNome TEXT NOT NULL, cliEmail TEXT NOT NULL)"; // Executo a Nom Query (nom query porque não está me retornando dados) objCommand.ExecuteNonQuery(); // Executo o metodo dispose para liberar os recuses que não serão mais utilizados objCommand.Dispose(); // Fecha a conexão com o banco de dados objConnection.Open(); // Executo o metodo dispose para liberar os recuses que não serão mais utilizados objConnection.Dispose();
O SQLite possui diversas formas de executar este comando de criação de uma tabela nesta página do site do Desenvolvedor do SQLite, o comando de criação de uma tabela também pode ser escrito de outra forma como a mostrada abaixo:
- "CREATE TABLE IF NOT EXISTS CLIENTE..." – Sendo que este comando criaria a tabela cliente caso a não exista no banco de dados.
Para se excluir uma tabela do banco de dados SQLite, não existe nenhum segredo ele basicamente funciona da mesma forma que funciona em outros bancos de dados:
- "DROP TABLE CLIENTE" – Exclui a tabela cliente do banco de dados.
- "DROP TABLE IF EXISTS CLIENTE" – Exclui uma tabela no banco de dados caso a mesma exista.
Bom basicamente é desta forma que criamos e excluímos uma tabela no banco de dados Sqlite, no próximo artigo veremos como inserir dados no SQLite usando os recursos oferecidos pelo componente ADO.NET System.Data.SQLite.
Nenhum comentário:
Postar um comentário