ADO .NET - Operações CRUD (revisitado) - II
Vamos rever os conceitos para realizar as operações CRUD usando a ADO .NET. |
Continuando o artigo anterior teremos agora a implementação dos métodos da classe GerenciaCategorias do projeto WebDemo.DAL que representa nossa camada de acesso a dados.
Para manter as coisas simples vamos implementar apenas dois métodos nesta classe:
1 - GetCategorias()
Retorna todas as categorias como uma lista de objetos Categoria:
public List<Categoria> GetCategorias() { List<Categoria> resultado = new List<Categoria>(); //Cria uma consulta SQL para retornar todas as categoras
string consultaSQL = String.Format("select * from Categorias");
//Cria um dataset
DataSet dataSet = new DataSet();
//Cria e abre uma conexão com o SQL Server
using (SqlConnection connection = new SqlConnection(DataBaseHelper.ConnectionString))
{
SqlCommand command = new SqlCommand(consultaSQL, connection);
SqlDataAdapter dataAdapter = new SqlDataAdapter(command);
dataAdapter.Fill(dataSet);
}
//Adiciona o nome na tabela do dataset
dataSet.Tables[0].TableName = "Categorias";
Categoria categoria = null;
//Itera sobre a tabela e preenche a lista resultado
foreach (DataRow dataRow in dataSet.Tables["Categorias"].Rows)
{
categoria = new Categoria();
categoria.CategoriaId = Convert.ToInt32(dataRow["CategoriaId"]);
categoria.CategoriaNome = dataRow["CategoriaNome"].ToString();
resultado.Add(categoria);
}
return resultado;
}
|
2- GetCategoriaPorId(int categoriaId)
Permite retornar uma categoria pelo seu id:
public Categoria GetCategoriaPorId(int categoriaId) { Categoria resultado = new Categoria(); //Cria uma consulta SQL para retornar uma categoria pelo id
string consultaSQL = String.Format("select * from Categorias where CategoriaId={0}", categoriaId);
//Cria e abre uma conexão com o SQL Server
SqlConnection connection = new SqlConnection(DataBaseHelper.ConnectionString);
connection.Open();
SqlCommand comando = new SqlCommand(consultaSQL, connection);
SqlDataReader dataReader = comando.ExecuteReader();
if (dataReader.HasRows)
{
while (dataReader.Read())
{
resultado.CategoriaId = Convert.ToInt32(dataReader["CategoriaId"]);
resultado.CategoriaNome = dataReader["CategoriaNome"].ToString();
}
}
return resultado;
}
|
Estamos retornando um objeto Categoria.
A implementação desses dois métodos permite obter informações das categorias.
Para implementar os demais métodos para incluir, atualizar e excluir artigos basta se basear no código usado na implementação da classe GerenciaArtigos.
Para usar a camada de acesso a dados basta criar uma instância das classes GerenciaArtigos() e GerenciaCategorias() e usar os métodos.
No exemplo dos projetos usados na solução para este exemplo temos que referenciar o projeto WebDemo.DAL no projeto WebDemo.
Exemplos de utilização da Camada de acesso a dados
Apenas como exemplo, se tivermos uma página que precisa exibir uma lista de artigos, e usarmos um controle Repeater nomeado como rptArtigos. Podemos fazer assim:
private void CarregaArtigos()
{
GerenciaArtigos artigos = new GerenciaArtigos();
rptArtigos.DataSource = artigos.GetArtigos();
rptArtigos.DataBind();
}
|
Aqui estamos usando o método GetArtigos() que retorna uma lista de objetos Artigo e é exibido na página usando o controle Repeater.
Outro exemplo seria o código usado para carregar um controle DropDownList chamado ddlCategorias em uma página com as categorias cadastradas:
private void CarregaCategorias() { GerenciaArtigos categorias = new GerenciaArtigos(); ddlCategorias.DataSource = categorias.GetCategorias();
ddlCategorias.DataTextField = "CategoriaNome";
ddlCategorias.DataValueField = "CategoriaId";
ddlCategorias.DataBind();
}
|
A implementação da interface para exibir os dados e interagir com o usuário pode variar mas a maneira de acessar a camada de acesso a dados basicamente é a mesma.
Implementamos assim um camada de acesso a dados usando ADO .NET puro recordando os métodos básicos e a utilização dos objetos ADO .NET na realização das operações CRUD.
Pegue o projeto completo aqui: WebDemo.zip
"Não sejais vagarosos no cuidado;
sede fervorosos no espírito, servindo ao Senhor;
Alegrai-vos na esperança, sede pacientes na tribulação, perseverai na oração;"
Romanos 12:11,12
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 ? |
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Super DVD C# - Recursos de aprendizagens e vídeo aulas para C#
Curso Fundamentos da Programação Orientada a Objetos com VB .NET
Criando uma proteção de tela - Macoratti
C# - ADO .NET para iniciantes - Macoratti
ADO.NET - Uma visão geral : Objetos Connection - Macoratti
ADO NET - Acesso a dados - Macoratti
ASP.NET - Acessando dados com ADO.NET - Macoratti
ASP .NET Core MVC - CRUD básico com ADO .NET - Macoratti
C# - CRUD com ADO .NET e Stored Procedures - Macoratti