1)Com o projeto da ultima aula aberto, vamos fazer o seguinte, iremos apagar quase todo o nosso código, deixando apenas a nossa string de conexão como é mostrado na imagem abaixo:
2) Agora vamos pedir ao usuário de nossa aplicação que informe o nome do cliente e também o email, para isso vamos usar os comandos Console.WriteLine e Console.ReadLine.
Console.WriteLine("Digite o nome do cliente:");
var nmCliente = Console.ReadLine();
Console.WriteLine("Digite o Email do cliente");
var eMail = Console.ReadLine();
3) Certo, agora que já estamos pedindo para inserir o Nome do Cliente e também o Email, é hora de criar a nossa instrução SQL que em breve passaremos para o comando SQL.
4) Então faça o seguinte, vamos criar uma instrução de inserção de dados, para isso declare uma variável SQL e informe o comando de inserção em SQL.
var SQL = "INSERT INTO CLIENTES (NomeCliente, Email) values (@NomeCliente, @Email)";
5) Por enquanto nossa instrução ainda não passa de um texto string sem utilidade, então vamos dar a ela a sua devida finalidade, vamos criar o comando sql!
6) Declare uma var CMD instanciando o assembly SqlCommand e passando por referencia a nossa string SQL e a nossa Conexão.
var cmd = new SqlCommand(SQL,con);
OBS: Como podemos observar durante todo esse processo de conexão com o banco de dados SQL é que sempre definimos uma instrução através de uma string antes de utiliza-la. Como foi o caso da conexão e do comando.
7) com a nosso SqlCommand criado vamos agora adicionar o nosso nomeCliente que foi declarado no escopo do programa juntamente com nosso NomeCliente do banco de dados e que está presente em nossa variável SQL (O mesmo vale para o Email).
8) Para isso vamos utilizar o parâmetro AddWithValue da propriedade de comando:
cmd.Parameters.AddWithValue("@NomeCliente",nmCliente);
cmd.Parameters.AddWithValue("@Email", eMail);
9) Em seguida vamos abrir a nossa conexão para utilizarmos um novo comando que ira executar a nossa instrução sql, o comando ExecuteNonQuery .
10) Então faça como já foi falado anteriormente, abra a conexão com o comando Con.Open();. Em seguida, vamos utilizar o Try e Finally como também já foi abordado.
11) Dentro do Try insira o comando cmd.ExecuteNonQuery();, caso queira inserir uma mensagem de sucesso, ficará a sua disposição.
12) Dentro do Finally insira o fechamento da conexão, o seu código deve ficar mais ou menos assim:
13) Execute o código e em seguida cadastre um cliente. Você pode verificar se o cliente foi cadastrado com êxito, através da SQL Server Object Explorer, vá até o banco de dados CADASTRO e em seguida abra a pasta TABLES, e clique com o botão direito sobre a tabela CLIENTES e clique em View Data.
14) E pronto! Seu primeiro cadastro foi efetuado com êxito!
15) Entretanto, não é uma boa prática informar a instrução SQL diretamente no código, então iremos colocar essa instrução na forma de uma store procedure ! Então vamos comentar a nossa linha de inserção de dados na tabela.
// var SQL = "INSERT INTO CLIENTES (NomeCliente, Email) values (@NomeCliente, @Email)";
16) Vamos então agora, copiar o nosso comando de inserção, em seguida dê um clique com o botão direito em programmabily e em seguida em store procedures como mostra a imagem abaixo:
17) Em seguida, clique em Add New Store Procedure... Em seguida será aberta a tela de configuração da Store Procedure ou "Procedimento de armazenamento", vamos então dar um nome ao nosso procedimento. No meu caso eu utilizei "InserirClientes".
CREATE PROCEDURE [dbo].[InserirClientes]
18) Em seguida vamos configurar os nossos parâmetros que são NomeCliente e Email.
CREATE PROCEDURE [dbo].[InserirClientes]
@NomeCliente varchar(max),
@Email varchar(max)
19) Agora vamos colar/informar o nosso código de inserção no restante do código, ele deverá estar da seguinte maneira:
20) Observe que está instrução não estará mais na interface do cliente e sim no servidor! Clique agora em Update para atualizar o código e em seguida Update Database.
21) De volta ao nosso código, a linha que comentamos onde estava a instrução SQL, será a linha que irá receber o nome do nosso procedimento. Ou seja:
De:
// var SQL = "INSERT INTO CLIENTES (NomeCliente, Email) values (@NomeCliente, @Email)";
Vamos para:
var SQL = "InserirCliente";
22) Agora como estamos utilizando um novo modo de inserção de dados, também teremos que trocar o nosso command a propriedade de comando, então vamos adicionar junto aos nossos outros comandos o seguinte código:
cmd.CommandType = CommandType.StoredProcedure;
23) Agora teste o seu código e veja o funcionamento! E pronto, você concluiu mais um conhecimento sobre C# e SQL!
24) O seu código deve terminar da seguinte maneira:
Nenhum comentário:
Postar um comentário