domingo, 18 de setembro de 2011

C# - Adicionando, Editando e Deletando dados com SQLite

Boa Noite!
Seguindo o artigo da ultima postagem, uma vez que temos uma tabela criada já podemos começar a inserir dado edita-los e posteriormente excluí-los.
Então vamos para a pratica, considerando  que já possuímos o banco de dados criado, a tabela CLIENTE criada e a conexão com o banco aberta, vamos adicionar o primeiro registro a nossa tabela, antes disso vamos relembrar a estrutura da tabela cliente e quais os comandos para inserir dados nela.

Tabela Cliente:
CREATE TABLE CLIENTE (cliId INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, cliNome TEXT NOT NULL, cliEmail TEXT NOT NULL)

Para inserir um dado nesta tabela vamos utilizar o comando INSERT:
INSERT INTO CLIENTE (cliNome, cliEmail) VALUES ("Diego Bittencourt de Oliveira", "dbo.oliveira@gmail.com")

Observe que não foi definido um cliId, pois este é definido pelo próprio SQLite, sendo que isto é definido na criação da tabela onde o campo cliId foi definido como “AUTOINCREMENT”, logo o código do cliente será atribuído automaticamente.

Em C# os comandos seriam assim:
objCommand.CommandText = "INSERT INTO CLIENTE (cliNome, cliEmail) VALUES (@cliNome, @cliEmail )";
objCommand.Parameters.Add(new SQLiteParameter("@cliNome", "Diego Bittencourt de Oliveira"));
objCommand.Parameters.Add(new SQLiteParameter("@cliEmail", "dbo.oliveira@hotmail.com"));
objCommand.ExecuteNonQuery();

Uma vez que se queira editar este registro recém criado acima, se utiliza o comando UPDADE:
UPDATE CLIENTE SET cliNome="Diego Bittencourt de Oliveira", cliEmail="diego_b_oliveira@hotmail.com" WHERE cliId=1

Obs: a expressão “WHERE cliId=1” indica que somente vamos alterar o registro que for identificado pela chave primaria 1, eu sei que a chave do nosso registro é 1 poque foi o primeiro a ser inserido na tabela CLIENTE que criei como exemplo.
Outra observação seria que no comando update eu poderia apenas modificar uma ou outra variável do registro, assim eu poderia especificar somente a variável que foi alterada sendo que as demais não teriam necessidade de aparecer no comando update.

Em C# os comandos para alterar o registro seriam assim:
objCommand.CommandText = " UPDATE CLIENTE SET cliNome=@cliNome,  cliEmail=@cliEmail WHERE cliId=@cliId”;
objCommand.Parameters.Add(new SQLiteParameter("@cliNome", "Diego Bittencourt de Oliveira"));
objCommand.Parameters.Add(new SQLiteParameter("@cliEmail", "diego_b_oliveira@hotmail.com"));
objCommand.Parameters.Add(new SQLiteParameter("@cliId", 1));
objCommand.ExecuteNonQuery();

Bom agora somente nos falta ver como deletar o nosso registro da tabela cliente, para isso em SQL existe um comando chamado DELELE, que deleta um registro ou mais registros conforme for especificado o comando.
Por exemplo um DELETE pode deletar todos os registros que forem pertencentes a uma determinada cidade ou até mesmo deletar de uma cadastro de dependentes todos os dependentes que forem maiores de 18 anos, no nosso caso vamo deletar o registro 1 do nosso cadastro de clientes:
DELETE FROM CLIENTE WHERE cliId=@cliId

Em C# os comandos para deletar o registro seriam assim:
objCommand.CommandText = "DELETE FROM CLIENTE WHERE cliId=@cliId";
objCommand.Parameters.Add(new SQLiteParameter("@cliId", 1));
objCommand.ExecuteNonQuery();

Bom basicamente seria isso que gostaria de mostrar neste artigo, no próximo artigo veremos como selecionar os dados inseridos em uma tabela de um banco de dados SQLite.

Um comentário:

  1. Tente uma ferramenta gratuita - Valentina Studio. Produto surpreendente! IMO é o melhor SQLite Manager, para todas as plataformas. http://www.valentina-db.com/en/valentina-studio-overview

    ResponderExcluir