Nesse tutorial vou mostrar como fazer um CRUD em ASP.NET com a linguagem VB e também em camadas
Para quem não sabe o que é crud:
Create, Read, Update e Delete
Vamos la... Eu usarei o Visual Studio 2010, Você também pode usar versões anteriores, Como o 2008.
Vá em:
File>>New Project>>Web>>ASP.NET Empty Aplicattion
PS: Linguagem Visual Basic
De o nome que desejar, Eu darei o nome de CrudTutorial
Nossa solução estará vazia, Dessa forma:
Como iremos programar em camadas utilizaremos 2 camadas (Você pode escolher mais camadas).
View - Onde ficará toda parte visual da nossa página
Model - Onde ficará todas as nossas regras de negócio e conexões com o banco de dados
Então vamos la, Vamos transformar essa primeira camada na camada view renomeando para CrudTutorial.view
Pronto ja temos a nossa camada View, Agora devemos criar a nossa camada Model.
Clique com o botão direito na solução e vá em add>New Project
Escolha um projeto do tipo Class Library e de o nome de CrudTutorial.Model como na imagem abaixo:
Ok, Ja temos nossa camada View e nossa camada Model, Vamos começar a trabalhar com elas agora, Começando pela View onde ficará toda a parte gráfica da nossa web Page, Clique com o botão direito no projeto CrudTutorial.view e vá em add>New Item> Escolha criar um Web Form, e de um nome que desejar a ela, Eu darei de Default.aspx (Lembre-se, Não apague a extensão aspx).
Nesse Web Form adicione 3 Labels com o texto de Nome,Email e Senha, Dois botões com o texto de Incluir e Excluir, e por último um listbox.
Pronto nossa parte gráfica está montada.
Agora vamos criar nosso banco de dados que irá guardar essas informações, Irei usar o SQL server 2008.
PS:
Você também pode usar outros bancos de dados como o famoso access ou MYSQL
Crie um Banco de dados com o nome que preferir, No meu caso CrudTutorial,Crie uma Tabela com o nome que desejar, No meu caso TB_User e coloque os seguintes campos nessa tabela:
Acho que não é necessário explicar cada campo, Se Você tem noções SQL ja da pra entender muito bem.
Agora vamos voltar ao Nosso Visual Studio, Na aba Server Explorer clique com o botão direito em Data Connections e escola Add New Connection como na figura abaixo:
Após isso aparecerá essa janela:
Escolha em Microsoft SQL Server e clique em OK.
PS: Isso pode depender do banco de dados que Você escolheu utilizar.
Em server Name coloque o nome do seu servidor local, Logo em baixo escolha o banco de dados que Você deseja trabalhar, No meu caso CrudTutorial
Clique em OK.
Pronto nossa janela Server Explorer ja está pronta, Ja carregou todas as tabelas e todas as colunas.
Finalmente vamos tratar da nossa camada model, Onde vai ficar 90% da programação.
Clique duas vezes sobre a Class1.vb para começar a edição, Após isso iremos definir os campos do nosso projeto.
PS: Sim, Todos são do tipo string mesmo...
Agora vamos fazer nosso método construtor que irá receber 3 parâmetros e atribuir esse 3 parâmetros para os campos criados, Veja que eu documentei o método com 3 aspas simples...
Vamos instanciar isso na camada view, Mas antes temos que referenciar a camada view com a camada model.
Como? Clique com o botão direito no projeto view e clique em add Reference como na imagem abaixo:
Escolha fazer referência com o nosso único projeto disponível, O model...
Ótimo, Agora podemos instanciar o método construtor na nossa camada View, Vamos fazer isso no carregamento do form.
Simples não?
Agora vamos fazer a conexão com o banco de dados para inserir, Mas antes disso tempos que criar uma Connection String, Vamos fazer isso agora.
Na camada Model Clique em My Project>>Settings>>Configure a nova conexão como Você configurou a anterior.
Ok, Vamos criar a Procedure InserirBanco, Ela será a responsável de inserir as informações no campo quando o usuário clicar em inserir.
Agora vamos chamar esse método no botão Incluir da camada View
Então vamos rodar a página em um servidor local e tentar incluir as informações:
Voltamos para nosso banco de dados e la esta.
Agora que ja inserimos vamos listar.
Vamos criar outro método que ja Chamaremos de CarregaListBox, Pois carregaremos o listbox no carregamento do form
Melhor ver isso na prática.
Agora no no carregamento do form chamamos esse método
Veja, Ao carregar o form ele ja carrega nossos ids
Ja incluimos ja listamos agora só falta excluir e claro... EDITAR, Eu esqueci disso, Mas não se preocupe, Ja iremos fazer isso.
Mas antes disso temos que fazer uma pequena "gambiarra" Quando o usuário selecionar o listbox as informações do usuário irão parar nos textbox para alteração ou exclusão...
Teremos que fazer tudo isso no evento SelectedIndexChanged do listbox1
Ai esta:
Agora iremos editar...
Portanto coloque um novo botão com o texto de editar
O método dele será EditarBanco
Agora falta o excluir, o método será DeletaBanco
Pronto Estamos listando,Excluindo,Editando e inserindo
Até mais...
Para quem não sabe o que é crud:
Create, Read, Update e Delete
Vamos la... Eu usarei o Visual Studio 2010, Você também pode usar versões anteriores, Como o 2008.
Vá em:
File>>New Project>>Web>>ASP.NET Empty Aplicattion
PS: Linguagem Visual Basic
De o nome que desejar, Eu darei o nome de CrudTutorial
Nossa solução estará vazia, Dessa forma:
Como iremos programar em camadas utilizaremos 2 camadas (Você pode escolher mais camadas).
View - Onde ficará toda parte visual da nossa página
Model - Onde ficará todas as nossas regras de negócio e conexões com o banco de dados
Então vamos la, Vamos transformar essa primeira camada na camada view renomeando para CrudTutorial.view
Pronto ja temos a nossa camada View, Agora devemos criar a nossa camada Model.
Clique com o botão direito na solução e vá em add>New Project
Escolha um projeto do tipo Class Library e de o nome de CrudTutorial.Model como na imagem abaixo:
Ok, Ja temos nossa camada View e nossa camada Model, Vamos começar a trabalhar com elas agora, Começando pela View onde ficará toda a parte gráfica da nossa web Page, Clique com o botão direito no projeto CrudTutorial.view e vá em add>New Item> Escolha criar um Web Form, e de um nome que desejar a ela, Eu darei de Default.aspx (Lembre-se, Não apague a extensão aspx).
Nesse Web Form adicione 3 Labels com o texto de Nome,Email e Senha, Dois botões com o texto de Incluir e Excluir, e por último um listbox.
Pronto nossa parte gráfica está montada.
Agora vamos criar nosso banco de dados que irá guardar essas informações, Irei usar o SQL server 2008.
PS:
Você também pode usar outros bancos de dados como o famoso access ou MYSQL
Crie um Banco de dados com o nome que preferir, No meu caso CrudTutorial,Crie uma Tabela com o nome que desejar, No meu caso TB_User e coloque os seguintes campos nessa tabela:
Acho que não é necessário explicar cada campo, Se Você tem noções SQL ja da pra entender muito bem.
Agora vamos voltar ao Nosso Visual Studio, Na aba Server Explorer clique com o botão direito em Data Connections e escola Add New Connection como na figura abaixo:
Após isso aparecerá essa janela:
Escolha em Microsoft SQL Server e clique em OK.
PS: Isso pode depender do banco de dados que Você escolheu utilizar.
Em server Name coloque o nome do seu servidor local, Logo em baixo escolha o banco de dados que Você deseja trabalhar, No meu caso CrudTutorial
Clique em OK.
Pronto nossa janela Server Explorer ja está pronta, Ja carregou todas as tabelas e todas as colunas.
Finalmente vamos tratar da nossa camada model, Onde vai ficar 90% da programação.
Clique duas vezes sobre a Class1.vb para começar a edição, Após isso iremos definir os campos do nosso projeto.
Código:
Public Class Class1 Public Nome As String Public Email As String Public Senha As String End Class
Agora vamos fazer nosso método construtor que irá receber 3 parâmetros e atribuir esse 3 parâmetros para os campos criados, Veja que eu documentei o método com 3 aspas simples...
Código:
''' <summary> ''' Método construtor ''' </summary> ''' <param name="pnome">Campo Nome</param> ''' <param name="pemail">Campo email</param> ''' <param name="pSenha">Campo Senha</param> ''' <remarks></remarks> Public Sub Class1(ByVal pnome As String, ByVal pemail As String, ByVal pSenha As String) Nome = pnome Email = pemail Senha = pSenha End Sub
Como? Clique com o botão direito no projeto view e clique em add Reference como na imagem abaixo:
Escolha fazer referência com o nosso único projeto disponível, O model...
Ótimo, Agora podemos instanciar o método construtor na nossa camada View, Vamos fazer isso no carregamento do form.
Código:
Public Class _Default Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim classe1 As New CrudTutorial.Model.Class1 classe1.Class1(TextBox1.Text, TextBox2.Text, TextBox3.Text) End Sub End Class
Agora vamos fazer a conexão com o banco de dados para inserir, Mas antes disso tempos que criar uma Connection String, Vamos fazer isso agora.
Na camada Model Clique em My Project>>Settings>>Configure a nova conexão como Você configurou a anterior.
Ok, Vamos criar a Procedure InserirBanco, Ela será a responsável de inserir as informações no campo quando o usuário clicar em inserir.
Código:
Public Sub InserirBanco() Dim conexao As New SqlClient.SqlConnection 'Conexão definida antes conexao.ConnectionString = My.Settings.CN1 conexao.Open() Dim comandos As New SqlClient.SqlCommand 'No banco de dados accsess colocamos "?" onde iremos passar parâmetros comandos.CommandText = "INSERT INTO TB_User (Email_Usu,Senha_Usu,Nome_Uso) VALUES(@Email,@Senha,@Nome)" 'Tipo de comando enviado comandos.CommandType = CommandType.Text 'Conexão do comando comandos.Connection = conexao 'Os parâmetros que iremos passar comandos.Parameters.Add("@Email", SqlDbType.NVarChar).Value = Email comandos.Parameters.Add("@Senha", SqlDbType.NVarChar).Value = Senha comandos.Parameters.Add("@Nome", SqlDbType.NVarChar).Value = Nome 'Execute comando comandos.ExecuteNonQuery() conexao.Close() End Sub
Código:
Protected Sub Button1_Click1(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click Dim classe1 As New CrudTutorial.Model.Class1 classe1.Class1(TextBox1.Text, TextBox2.Text, TextBox3.Text) classe1.InserirBanco() End Sub
Voltamos para nosso banco de dados e la esta.
Agora que ja inserimos vamos listar.
Vamos criar outro método que ja Chamaremos de CarregaListBox, Pois carregaremos o listbox no carregamento do form
Melhor ver isso na prática.
Código:
Public Sub CarregaListBox() Dim conexao As New SqlClient.SqlConnection ' conexao.ConnectionString = My.Settings.CN1 conexao.Open() Dim comandos As New SqlClient.SqlCommand comandos.CommandText = "SELECT * FROM TB_User" comandos.CommandType = CommandType.Text comandos.Connection = conexao 'Variável que ira guardar ids Dim leitor As SqlClient.SqlDataReader leitor = comandos.ExecuteReader While leitor.Read id = leitor("ID_Usu") End While 'Temos que criar outro campo que chamaremos de ID para guardar as IDs de cada usuario, Criaremos junto 'com os outros campos la em cima conexao.Close() End Sub
Código:
Dim classe1 As New CrudTutorial.Model.Class1 classe1.Class1(TextBox1.Text, TextBox2.Text, TextBox3.Text) classe1.CarregaListBox() ListBox1.Items.Add(classe1.id)
Ja incluimos ja listamos agora só falta excluir e claro... EDITAR, Eu esqueci disso, Mas não se preocupe, Ja iremos fazer isso.
Mas antes disso temos que fazer uma pequena "gambiarra" Quando o usuário selecionar o listbox as informações do usuário irão parar nos textbox para alteração ou exclusão...
Teremos que fazer tudo isso no evento SelectedIndexChanged do listbox1
Ai esta:
Código:
Public Sub carregaTextBox() Dim conexao As New SqlClient.SqlConnection conexao.ConnectionString = My.Settings.CN1 conexao.Open() Dim comandos As New SqlClient.SqlCommand comandos.CommandText = "SELECT * FROM TB_User WHERE id_Usu = " & idtext comandos.CommandType = CommandType.Text comandos.Connection = conexao Dim leitor As SqlClient.SqlDataReader leitor = comandos.ExecuteReader While leitor.Read NomeText = leitor("Nome_Usu") SenhaText = leitor("Senha_Usu") EmailText = leitor("Email_Usu") End While conexao.Close() End Sub
Portanto coloque um novo botão com o texto de editar
O método dele será EditarBanco
Código:
Public Sub editarBanco() Dim conexao As New SqlClient.SqlConnection conexao.ConnectionString = My.Settings.CN1 conexao.Open() Dim comandos As New SqlClient.SqlCommand comandos.CommandText = "UPDATE SET(Email_Usu,Senha_Usu,Nome_Usu) VALUES(@NOME,EMAIL,@SENHA) WHERE ID_Usu =" & idtext comandos.Parameters.Add("@NOME", SqlDbType.VarChar).Value = Nome comandos.Parameters.Add("EMAIL", SqlDbType.VarChar).Value = Email comandos.Parameters.Add("@SENHA", SqlDbType.VarChar).Value = Senha comandos.CommandType = CommandType.Text comandos.Connection = conexao conexao.Close() End Sub
Código:
Public Sub DeletaBanco() Dim conexao As New SqlClient.SqlConnection conexao.ConnectionString = My.Settings.CN1 conexao.Open() Dim comandos As New SqlClient.SqlCommand comandos.CommandText = "DELETE FROM TB_User WHERE ID_Usu = " & id comandos.ExecuteNonQuery() comandos.Connection = conexao conexao.Close()
Até mais...
Comment