public bool Apagar(Categorias cat) { bool delete = false; try { //Instância a variável conexão com uma nova conexão com o banco de dados. Conexao = new SqlConnection(); //Define o servidor(.\sqlExpress)servidor interno(SQL server managment) a DATABASE(Papelaria) usuário e senha. Conexao.ConnectionString = @"Data Source=.\sqlexpress;Initial Catalog=Papelaria;user id=sa;password=senai@123;"; //Abre a conexão com o banco de dados. Conexao.Open(); //Instância a Váriavel comandos como um novo comando SQL. comandos = new SqlCommand(); // Aponta que os comandos serão realizados em cima da conexão igualada, ou seja, a Conexao. comandos.Connection = Conexao; //Define que o tipo de comando utilizado será Texto. comandos.CommandType = CommandType.Text; // @Titulo(Serve como um parametro, um elemento parameterizado) //Define o comando de texto como um UPDATE e define que o campo titulo e Id será parameterizado e receberá o valor de @Titulo e @Id. comandos.CommandText = "DELETE FROM Categorias WHERE idCategoria= @Id"; //Irá adicionar ao parametro @Id o valor do cat.IdCategoria. comandos.Parameters.AddWithValue("@Id", cat.IdCategoria); /* * Executa o INSERT sem uma QUERY e retorna o valor de linhas alteradas, por isso está sendo atribuído a váriavel r. */ int r = comandos.ExecuteNonQuery(); if (r > 0) { delete = true; } //Limpa o parametro @Titulo, pois se tentasse inserir um valor sem limpa-lo haveria um erro. comandos.Parameters.Clear(); System.Console.WriteLine("Categoria apagada com sucesso:"); } catch (SqlException Erro) { throw new EvaluateException("Erro ao tentar Cadastrar." + Erro.Message); } catch (Exception Error) { throw new Exception("Erro Inesperado. " + Error); } finally { //Fecha a conexão. Conexao.Close(); } return(delete); }
/* * Forma Orientada a Objetos */ public bool Adicionar(Categorias cat) { /* * O Adicionar está sendo realizado de forma otimizada com a classe CRUD(Utilizando o objeto c1) para facilitar * e reusar o código, os demais métodos estão estruturados. */ Crud c1 = new Crud(); bool Insert = false; try { //Instância a variável conexão com uma nova conexão com o banco de dados. // Conexao = new SqlConnection(); //Define o servidor(.\sqlExpress)servidor interno(SQL server managment) a DATABASE(Papelaria) usuário e senha. //Conexao.ConnectionString = @"Data Source=.\sqlexpress;Initial Catalog=Papelaria;user id=sa;password=senai@123;"; //Abre a conexão com o banco de dados. // Conexao.Open(); //Instância a Váriavel comandos como um novo comando SQL. //comandos = new SqlCommand(); // Aponta que os comandos serão realizados em cima da conexão igualada, ou seja, a Conexao. //comandos.Connection = Conexao; //Define que o tipo de comando utilizado será Texto. c1.comandos.CommandType = CommandType.Text; // @Titulo(Serve como um parametro, um elemento parameterizado) //Define o comando de texto como um insert into e define que o campo titulo será parameterizado e receberá o valor de @Titulo. c1.comandos.CommandText = "INSERT INTO Categorias(titulo)VALUES(@Titulo)"; //Irá adicionar ao parametro @Titulo o valor do cat.titulo. c1.comandos.Parameters.AddWithValue("@Titulo", cat.Titulo); /* * Executa o INSERT sem uma QUERY e retorna o valor de linhas alteradas, por isso está sendo atribuído a váriavel r. */ int r = c1.comandos.ExecuteNonQuery(); if (r > 0) { Insert = true; } //Limpa o parametro @Titulo, pois se tentasse inserir um valor sem limpa-lo haveria um erro. c1.comandos.Parameters.Clear(); System.Console.WriteLine("Categoria Salva com sucesso!\n Nome da categoria:" + cat.Titulo); } catch (SqlException Erro) { throw new EvaluateException("Erro ao tentar Cadastrar." + Erro.Message); } catch (Exception Error) { throw new Exception("Erro Inesperado. " + Error); } finally { //Fecha a conexão. c1.Conexao.Close(); } return(Insert); }
static void Main(string[] args) { bool controla2 = false; bool Controle = false; List <Categorias> lista = new List <Categorias>(); BancoDados B1 = new BancoDados(); Categorias c1 = new Categorias(); /* * */ // lista=B1.ListarCategorias(); // foreach(Categorias a in lista) // System.Console.WriteLine(a.Titulo); // c1.Titulo="Nega da praia"; // B1.Adicionar(c1); // B1.Atualizar(c1); while (Controle == false) { System.Console.WriteLine("_____________________________\nLOJA\n_____________________________"); System.Console.WriteLine("\n Favor Escolha umas das opções:\n * 1 - Categorias * \n * 2 - Clientes * \n 3 - Estoque"); String opcao = Console.ReadLine(); switch (opcao) { // Crud da tabela de categorias case "1": opcao = ""; while (controla2 == false) { System.Console.WriteLine("\n Escolha a operação a ser Realizada:\n * 1- Cadastro de nova Categoria *\n * 2 - Atualização *\n * 3 - Apagar Categoria *\n * 4- Procurar Categoria por ID ou Titulo * \n * 5 - Pesquisar toda a tabela Categoria * \n "); opcao = Console.ReadLine(); switch (opcao) { /* * * Cadastro de dados no banco * B1 é um objeto da classe BancoDados e o método adicionar contem o INSERT INTO * B1.Adicionar(c1); * */ case "1": c1.Titulo = ""; do { System.Console.WriteLine("Favor digite o titulo da da categoria(Não pode ser vázio):"); c1.Titulo = Console.ReadLine(); } while (c1.Titulo == ""); //chama o método Adicionar e passa como parametro o id null(no banco é auto increment ) e o titulo inserido pelo usuário. B1.Adicionar(c1); controla2 = true; break; case "2": //Faz o SELECT * FROM da tabela View(); //Enquando o controla2 for igual a falso fica pedindo o ID denovo. while (controla2 == false) { try { System.Console.WriteLine("\n Escolha o Id a Ser alterado"); c1.IdCategoria = Int32.Parse(Console.ReadLine()); controla2 = true; } catch { System.Console.WriteLine("\n O id deve ser numérico e não deve ser nulo!"); } c1.Titulo = ""; do { System.Console.WriteLine("Favor Digite o novo Titulo para o id " + c1.IdCategoria + ":\n"); c1.Titulo = Console.ReadLine(); } while (c1.Titulo == ""); B1.Atualizar(c1); } break; case "3": View(); while (controla2 == false) { try { System.Console.WriteLine("\n Escolha o Id a Ser Apagado"); c1.IdCategoria = Int32.Parse(Console.ReadLine()); controla2 = true; } catch { System.Console.WriteLine("\n O id deve ser numérico e não deve ser nulo!"); } B1.Apagar(c1); } break; case "4": int Id; string text = ""; do { System.Console.WriteLine("Favor Digite o ID ou Titulo da categoria que deseja pesquisar :\n"); text = Console.ReadLine(); } while (text == ""); try { Id = Int32.Parse(text); lista = B1.ListarCategorias(Id); foreach (Categorias c in lista) { System.Console.WriteLine("Id: " + c.IdCategoria + " Título: " + c.Titulo); } } catch { lista = B1.ListarCategorias(text); foreach (Categorias c in lista) { System.Console.WriteLine("Id: " + c.IdCategoria + " Título: " + c.Titulo); } } controla2 = true; break; } } Controle = true; break; case "2": Cliente Cliente1 = new Cliente(); BancoDados b1 = new BancoDados(); System.Console.WriteLine("Cadastro do cliente \n"); System.Console.WriteLine("Insira o seu Nome:\n"); Cliente1.NomeCliente = Console.ReadLine(); System.Console.WriteLine("Insira o seu E-mail:\n"); Cliente1.EmailCliente = Console.ReadLine(); System.Console.WriteLine("Insira o seu CPF:\n"); Cliente1.CPF = Console.ReadLine(); b1.AdicionarCliente(Cliente1); break; case "3": break; case "4": break; } } }