//Validação do login public void ConsultarLogin() { try { DB.AbrirConexao(); MySqlCommand cmd = new MySqlCommand("SELECT usuario, senha FROM tecnico WHERE usuario=@usuario AND senha = @senha", DB.con); cmd.Parameters.AddWithValue("@usuario", usuario); cmd.Parameters.AddWithValue("@senha", senha); MySqlDataAdapter da = new MySqlDataAdapter(cmd); DataTable dt = new DataTable(); da.Fill(dt); if (dt.Rows.Count != 0) { this.logado = "Logado"; DB.FecharConexao(); } else { this.logado = "Negado"; DB.FecharConexao(); } } catch (Exception error) { MessageBox.Show(error.Message, "ERRO!", MessageBoxButtons.OK, MessageBoxIcon.Error); DB.FecharConexao(); } }
public T FindByCpf<T>(string cpf) where T : Pessoa { //Recupera a instancia unica do banco de dados dataBase = DataBase.GetInstance(); /* Variavel local responsável por armazenar a pessoa pesquisada no banco de dados. * (A palavra new so é usada em tipos concretos) * (Activador é uma classe que deixa criar uma instancia de tipo generico) */ T pessoa = Activator.CreateInstance<T>(); try { //Tenta abrir a conexao dataBase.AbrirConexao(); /* Query responsavel por buscar uma pessoa pelo seu CPF */ string query = "SELECT p.*, e.rua, e.numero, e.cep, e.cidade, e.estado FROM Pessoa p " + "LEFT JOIN Endereco e ON p.idEndereco = e.id " + "WHERE p.cpf LIKE @Cpf;"; //Comando responsavel pela query MySqlCommand command = new MySqlCommand(query, dataBase.GetConexao()); //Adição de parametros ja com valor command.Parameters.AddWithValue("@Cpf", cpf); //Executar instrução com retorno de dados, retorna objeto do tipo MySqlDataReader MySqlDataReader dr = command.ExecuteReader(); //Verifica se tem dados para ser lidos if (dr.Read()) { //Chama o metodo auxiliar para setar a Pessoa vindo do banco pessoa = setPessoa(dr, pessoa); } else { //Caso não encontre nenhuma pessoa retorna null return null; } } //Caso ocorra algum tipo de exceção será tratado aqui. catch (MySqlException ex) { //Mostrar o erro na tela MessageBox.Show("Erro: " + ex.Message); //Caso ocorra algum problema retorna null return null; } finally { //Independente se ocorrer erro ou não a conexão com o banco de dados será fechada dataBase.FecharConexao(); } /* Retorna a pessoa pesquisada de acordo com seu ID */ return pessoa; }
/* Método responsável pela iserção do cliente no bd. */ public Cliente Create(Cliente cliente) { /* Guarda a pessoa no banco de dados * (O metodo retorna a ultima pessoa inserida no banco já com seu id setado). * Caso ocorra algum problema o metodo returna null, caso contrario returna o cliente */ cliente = pessoaDAO.Create<Cliente>(cliente); //Caso a ultima pessoa a ser inserida tenha problemas o metodo já retorna null if (cliente == null) { return null; } //Recupera a instancia unica do banco de dados dataBase = DataBase.GetInstance(); try { //Tenta abrir a conexao dataBase.AbrirConexao(); //Query responsavel pela inserção de um Cliente string query = "INSERT INTO Cliente(id, email) VALUES(@Id, @Email)"; //Comando responsavel pela query MySqlCommand command = new MySqlCommand(query, dataBase.GetConexao()); //Adição de parametros e espeficicação dos tipos command.Parameters.Add("@Id", MySqlDbType.Int32); command.Parameters.Add("@Email", MySqlDbType.String); //Atribuição de valores command.Parameters["@Id"].Value = cliente.Id; command.Parameters["@Email"].Value = cliente.Email; //Executar instrução sem retorno de dados command.ExecuteNonQuery(); //MessageBox.Show("Conexão com banco de dados efetuada com sucesso"); } //Caso ocorra algum tipo de exceção será tratado aqui. catch (MySqlException ex) { //Mostrar o erro na tela MessageBox.Show("Erro: " + ex.Message); //Caso ocorra algum problema retorna null return null; } finally { //Independente se der erro ou não a conexão com o banco de dados será fechada dataBase.FecharConexao(); } //Retorna o cliente cadastrado ja com seu id setado, ou seja, id gerado no banco return cliente; }
/* Pesquisa um cliente pelo seu ID */ public Cliente Read(int id) { //Recupera a instancia unica do banco de dados dataBase = DataBase.GetInstance(); //Variavel local responsável por armazenar o cliente pesquisado de acordo com seu ID //Chama o metodo generico da classe pessoaDAO Cliente cliente = pessoaDAO.Read<Cliente>(id); try { //Tenta abrir a conexao dataBase.AbrirConexao(); /* Query responsavel por buscar um cliente pelo seu id */ string query = "SELECT email FROM Cliente WHERE id = @Id;"; //Comando responsavel pela query MySqlCommand command = new MySqlCommand(query, dataBase.GetConexao()); //Adição de parametros e espeficicação dos tipos command.Parameters.Add("@Id", MySqlDbType.Int32); //Atribuição de valores command.Parameters["@Id"].Value = id; //Executar instrução com retorno de dados, retorna objeto do tipo MySqlDataReader MySqlDataReader dr = command.ExecuteReader(); //Verifica se tem dados para ser lido if (dr.Read()) { cliente = setCliente(dr, cliente); } else { //Caso não encontre nenhum cliente retorna null return null; } } //Caso ocorra algum tipo de exceção será tratado aqui. catch (MySqlException ex) { //Mostrar o erro na tela MessageBox.Show("Erro: " + ex.Message); //Caso ocorra algum problema retorna null return null; } finally { //Independente se ocorrer erro ou não a conexão com o banco de dados será fechada dataBase.FecharConexao(); } /* Retorna o endereco pesquisado de acordo com seu ID */ return cliente; }
//criar dados dos tecnicos public void CriarDados() { try { DB.AbrirConexao(); string CommandText = "INSERT INTO tecnico VALUES (0, @usuario, @senha, @nome_tecnico, @cnh, @cidade, @bairro, @rua, @numero, @cep, @uf, @complemento, @celular, @data_nascimento, @inativar)"; MySqlCommand cmd = new MySqlCommand(CommandText, DB.con); cmd.Parameters.AddWithValue("@usuario", usuario); cmd.Parameters.AddWithValue("@senha", senha); cmd.Parameters.AddWithValue("@nome_tecnico", nome); cmd.Parameters.AddWithValue("@cnh", cnh); cmd.Parameters.AddWithValue("@cidade", cidade); cmd.Parameters.AddWithValue("@bairro", bairro); cmd.Parameters.AddWithValue("@rua", rua); cmd.Parameters.AddWithValue("@numero", numero); cmd.Parameters.AddWithValue("@cep", cep); cmd.Parameters.AddWithValue("@uf", uf); cmd.Parameters.AddWithValue("@complemento", complemento); cmd.Parameters.AddWithValue("@celular", celular); cmd.Parameters.AddWithValue("@data_nascimento", data_nascimento); cmd.Parameters.AddWithValue("@inativar", inativar); cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); MessageBox.Show("Cadastrado com sucesso"); DB.FecharConexao(); } catch (Exception error) { MessageBox.Show(error.ToString()); } }
public void Update(Endereco endereco) { //Recupera a instancia unica do banco de dados dataBase = DataBase.GetInstance(); try { //Tenta abrir a conexao dataBase.AbrirConexao(); /* Query responsavel por atualizar o endereno no banco */ string query = "UPDATE Endereco SET rua = @Rua, numero = @Numero, cep = @Cep, " + "cidade = @Cidade, estado = @Estado WHERE id = @Id"; //Comando responsavel pela query MySqlCommand command = new MySqlCommand(query, dataBase.GetConexao()); //Adição de parametros e espeficicação dos tipos command.Parameters.Add("@Rua", MySqlDbType.String); command.Parameters.Add("@Numero", MySqlDbType.Int32); command.Parameters.Add("@Cep", MySqlDbType.Int32); command.Parameters.Add("@Cidade", MySqlDbType.String); command.Parameters.Add("@Estado", MySqlDbType.String); command.Parameters.Add("@Id", MySqlDbType.Int32); //Atribuição de valores if (endereco.Numero != 0) { command.Parameters["@Numero"].Value = endereco.Numero; } if (endereco.Cep != 0) { command.Parameters["@Cep"].Value = endereco.Cep; } command.Parameters["@Rua"].Value = endereco.Rua; command.Parameters["@Cidade"].Value = endereco.Cidade; command.Parameters["@Estado"].Value = endereco.Estado; command.Parameters["@Id"].Value = endereco.Id; //Executar instrução sem retorno de dados command.ExecuteNonQuery(); } //Caso ocorra algum tipo de exceção será tratado aqui. catch (MySqlException ex) { //Mostrar o erro na tela MessageBox.Show("Erro: " + ex.Message); } finally { //Independente se ocorrer erro ou não a conexão com o banco de dados será fechada dataBase.FecharConexao(); } }
//CREATE dados public void Criar_Dados() { try { DB.AbrirConexao(); string CommandText = "INSERT INTO empresa VALUES (0, @razao, @fantasia, @cnpj, @inscricao_estadual, @rua, @bairro, @cidade, @numero, @cep, @uf, @telefone, @celular, @email_contador, @email, @inativado) "; MySqlCommand cmd = new MySqlCommand(CommandText, DB.con); cmd.Parameters.AddWithValue("@razao", razao); cmd.Parameters.AddWithValue("@fantasia", fantasia); cmd.Parameters.AddWithValue("@cnpj", cnpj); cmd.Parameters.AddWithValue("@inscricao_estadual", inscricao_estadual); cmd.Parameters.AddWithValue("@rua", rua); cmd.Parameters.AddWithValue("@bairro", bairro); cmd.Parameters.AddWithValue("@cidade", cidade); cmd.Parameters.AddWithValue("@numero", numero); cmd.Parameters.AddWithValue("@cep", cep); cmd.Parameters.AddWithValue("@uf", uf); cmd.Parameters.AddWithValue("@telefone", telefone); cmd.Parameters.AddWithValue("@celular", celular); cmd.Parameters.AddWithValue("@email_contador", email_contador); cmd.Parameters.AddWithValue("@email", email); cmd.Parameters.AddWithValue("@inativado", inativado); MessageBox.Show("Cadastrado com sucesso!"); cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); DB.FecharConexao(); } catch (Exception error) { MessageBox.Show(error.ToString()); } }
/* Pesquisa um endereco pelo seu ID */ public Endereco Read(int id) { //Recupera a instancia unica do banco de dados dataBase = DataBase.GetInstance(); //Variavel local responsável por armazenar o endereco pesquisado de acordo com seu ID Endereco endereco = new Endereco(); try { //Tenta abrir a conexao dataBase.AbrirConexao(); /* Query responsavel por buscar um endereco pelo seu id */ string query = "SELECT * FROM Endereco WHERE id = @Id"; //Comando responsavel pela query MySqlCommand command = new MySqlCommand(query, dataBase.GetConexao()); //Adição de parametros e espeficicação dos tipos command.Parameters.Add("@Id", MySqlDbType.Int32); //Atribuição de valores command.Parameters["@Id"].Value = id; //Executar instrução com retorno de dados, retorna objeto do tipo MySqlDataReader MySqlDataReader dr = command.ExecuteReader(); //Chama o metodo auxiliar para setar o Endereco vindo do banco endereco = setEndereco(dr, endereco); } //Caso ocorra algum tipo de exceção será tratado aqui. catch (MySqlException ex) { //Mostrar o erro na tela MessageBox.Show("Erro: " + ex.Message); //Caso ocorra algum problema retorna null return(null); } finally { //Independente se ocorrer erro ou não a conexão com o banco de dados será fechada dataBase.FecharConexao(); } /* Retorna o endereco pesquisado de acordo com seu ID */ return(endereco); }
public void Update<T>(T pessoa) where T : Pessoa { //Recupera a instancia unica do banco de dados dataBase = DataBase.GetInstance(); try { //Tenta abrir a conexao dataBase.AbrirConexao(); /* Query responsavel por atualizar a pessoa na tabela pessoa do banco */ string query = "UPDATE Pessoa SET cpf = @Cpf, nome = @Nome, telefone = @Telefone WHERE id = @Id;"; //Comando responsavel pela query MySqlCommand command = new MySqlCommand(query, dataBase.GetConexao()); //Adição de parametros e espeficicação dos tipos command.Parameters.Add("@Cpf", MySqlDbType.String); command.Parameters.Add("@Nome", MySqlDbType.String); command.Parameters.Add("@Telefone", MySqlDbType.String); command.Parameters.Add("@Id", MySqlDbType.Int32); //Atribuição de valores command.Parameters["@Cpf"].Value = pessoa.Cpf; command.Parameters["@Nome"].Value = pessoa.Nome; command.Parameters["@Telefone"].Value = pessoa.Telefone; command.Parameters["@Id"].Value = pessoa.Id; //Executar instrução sem retorno de dados command.ExecuteNonQuery(); //MessageBox.Show("Conexão com banco de dados efetuada com sucesso"); } //Caso ocorra algum tipo de exceção será tratado aqui. catch (MySqlException ex) { //Mostrar o erro na tela MessageBox.Show("Erro: " + ex.Message); } finally { //Independente se der erro ou não a conexão com o banco de dados será fechada dataBase.FecharConexao(); } }
public void Update(Cliente cliente) { /* Atualiza os dados da pessoa na tabela pessoa */ pessoaDAO.Update<Cliente>(cliente); //Recupera a instancia unica do banco de dados dataBase = DataBase.GetInstance(); try { //Tenta abrir a conexao dataBase.AbrirConexao(); /* Query responsavel por atualizar o cliente na tabela cliente do banco */ string query = "UPDATE Cliente SET email = @Email WHERE id = @Id;"; //Comando responsavel pela query MySqlCommand command = new MySqlCommand(query, dataBase.GetConexao()); //Adição de parametros e espeficicação dos tipos command.Parameters.Add("@Id", MySqlDbType.Int32); command.Parameters.Add("@Email", MySqlDbType.String); //Atribuição de valores command.Parameters["@Id"].Value = cliente.Id; command.Parameters["@Email"].Value = cliente.Email; //Executar instrução sem retorno de dados command.ExecuteNonQuery(); //MessageBox.Show("Conexão com banco de dados efetuada com sucesso"); } //Caso ocorra algum tipo de exceção será tratado aqui. catch (MySqlException ex) { //Mostrar o erro na tela MessageBox.Show("Erro: " + ex.Message); } finally { //Independente se der erro ou não a conexão com o banco de dados será fechada dataBase.FecharConexao(); } }
public void Delete(int id) { //Recupera a instancia unica do banco de dados dataBase = DataBase.GetInstance(); try { //Tenta abrir a conexao dataBase.AbrirConexao(); /* Query responsavel por deletar a pessoa na tabela pessoa do banco */ string query = "DELETE FROM Pessoa WHERE id = @Id;"; //Comando responsavel pela query MySqlCommand command = new MySqlCommand(query, dataBase.GetConexao()); //Adição de parametros e espeficicação dos tipos command.Parameters.Add("@Id", MySqlDbType.Int32); //Atribuição de valores command.Parameters["@Id"].Value = id; //Executar instrução sem retorno de dados command.ExecuteNonQuery(); //MessageBox.Show("Conexão com banco de dados efetuada com sucesso"); } //Caso ocorra algum tipo de exceção será tratado aqui. catch (MySqlException ex) { //Mostrar o erro na tela MessageBox.Show("Erro: " + ex.Message); } finally { //Independente se der erro ou não a conexão com o banco de dados será fechada dataBase.FecharConexao(); } }
//Listagem de Ordem de Serviço public void Listar_Dados(DataGridView dgv) { try { DB.AbrirConexao(); string query = "select os.fk_empresa, os.inativado, os.fk_tecnico, e.celular, e.telefone, os.id_os, t.nome_tecnico, e.fantasia, e.cnpj, os.solicitante, os.assunto, os.descricao, os.atendimento, os.sistema, os.solucao, os.abertura, os.conclusao, os.status_os from tecnico as t inner join empresa as e inner join ordemservico as os where os.fk_empresa = e.id_empresa and os.fk_tecnico = t.id_tecnico and os.id_os = os.id_os and os.inativado = 0 "; MySqlDataAdapter MyDA = new MySqlDataAdapter(); MyDA.SelectCommand = new MySqlCommand(query, DB.con); DataTable table = new DataTable(); MyDA.Fill(table); BindingSource bSource = new BindingSource(); bSource.DataSource = table; dgv.DataSource = bSource; DB.FecharConexao(); } catch (Exception error) { MessageBox.Show(error.ToString()); } }
public List<Cliente> FindByName(string name) { //Recupera a instancia unica do banco de dados dataBase = DataBase.GetInstance(); /* Variavel local responsável por armazenar o todos os clientes vindas do banco */ //Chama o metodo generico da classe pessoaDAO List<Cliente> clientes = pessoaDAO.FindByName<Cliente>(name); /* Variavel local responsável por armazenar o cliente pesquisado no banco de dados */ Cliente cliente = new Cliente(); try { //Tenta abrir a conexao dataBase.AbrirConexao(); /* Query responsavel por buscar um cliente pelo seu nome */ string query = "SELECT c.email FROM Pessoa p " + "LEFT JOIN Endereco e ON p.idEndereco = e.id " + "INNER JOIN Cliente c ON p.id = c.id " + "WHERE lower(p.nome) LIKE @Name ORDER BY p.id;"; //Comando responsavel pela query MySqlCommand command = new MySqlCommand(query, dataBase.GetConexao()); //Adição de parametros ja com valor command.Parameters.AddWithValue("@Name", "%" + name + "%"); //Executar instrução com retorno de dados, retorna objeto do tipo MySqlDataReader MySqlDataReader dr = command.ExecuteReader(); //Percorrer esse objeto até obter todos os dados if (dr.HasRows) { //Contador para percorrer a lista int count = 0; while (dr.Read()) { //Chama o metodo auxiliar para setar a Pessoa vindo do banco cliente = setCliente(dr, cliente); //Percorre a lista e altera o email de cada cliente clientes[count++].Email = cliente.Email; } } else { //Caso ocorra algum problema retorna null return null; } } //Caso ocorra algum tipo de exceção será tratado aqui. catch (MySqlException ex) { //Mostrar o erro na tela MessageBox.Show("Erro: " + ex.Message); //Caso ocorra algum problema retorna null return null; } finally { //Independente se ocorrer erro ou não a conexão com o banco de dados será fechada dataBase.FecharConexao(); } /* Retorna todos os clientes pesquisados */ return clientes; }
/* Método responsável pela iserção da pessoa no bd. * Esse método retorna um objeto de tipo Generico(qualquer tipo que extenda pessoa) que representa a ultima Pessoa * inserido no banco, para que essa Pessoa * possa ser associado a um funcionado ou a um cliente*/ public T Create<T>(T pessoa) where T : Pessoa { //Recupera a instancia unica do banco de dados dataBase = DataBase.GetInstance(); /* Variavel local responsável por armazenar a ultima pessoa inserida na tabela Pessoa. * (A palavra new so é usada em tipos concretos) * (Activador é uma classe que deixa criar uma instancia de tipo generico) */ T ultimaPessoa = Activator.CreateInstance<T>(); try { //Tenta abrir a conexao dataBase.AbrirConexao(); /* Utilizamos uma Stored Procedure para retornar a ultima pessoa inserida na tabela Pessoa. * Essa procedure foi feita pelo fato de o id ser auto_increment, sendo assim, sem o uso de procedure * não teriamos o controle de qual id foi inserido por ultimo. */ string query = "CALL sp_pessoa_insert (@Cpf, @Nome, @Telefone, @IdEndereco)"; //Comando responsavel pela query MySqlCommand command = new MySqlCommand(query, dataBase.GetConexao()); //Adição de parametros e espeficicação dos tipos command.Parameters.Add("@Cpf", MySqlDbType.String); command.Parameters.Add("@Nome", MySqlDbType.String); command.Parameters.Add("@Telefone", MySqlDbType.String); command.Parameters.Add("@IdEndereco", MySqlDbType.Int32); //Atribuição de valores command.Parameters["@Cpf"].Value = pessoa.Cpf; command.Parameters["@Nome"].Value = pessoa.Nome; command.Parameters["@Telefone"].Value = pessoa.Telefone; command.Parameters["@IdEndereco"].Value = pessoa.Endereco.Id; //Executar instrução com retorno de dados, retorna objeto do tipo MySqlDataReader MySqlDataReader dr = command.ExecuteReader(); //Verifica se tem dados para ser lidos if (dr.Read()) { //Chama o metodo auxiliar para setar a Pessoa vindo do banco ultimaPessoa = setPessoa(dr, ultimaPessoa); } else { //Caso não encontre nenhuma pessoa retorna null return null; } //MessageBox.Show("Conexão com banco de dados efetuada com sucesso"); } //Caso ocorra algum tipo de exceção será tratado aqui. catch (MySqlException ex) { //Mostrar o erro na tela MessageBox.Show("Erro: " + ex.Message); //Caso ocorra algum problema retorna null return null; } finally { //Independente se der erro ou não a conexão com o banco de dados será fechada dataBase.FecharConexao(); } /* Retorna a ultima pessoa inserido na tabela Pessoa * para que possa ser associado a um funcionado ou a um cliente * (Esse retorno se torna necessario para controlar os ids da tabela, pois é um campo auto_increment) */ pessoa.Id = ultimaPessoa.Id; return pessoa; }
public List<T> FindByName<T>(string name) where T : Pessoa { //Recupera a instancia unica do banco de dados dataBase = DataBase.GetInstance(); /* Variavel local responsável por armazenar o todas as pessoas vindas do banco */ List<T> pessoas = new List<T>(); /* Variavel local responsável por armazenar a pessoa pesquisada no banco de dados. * (A palavra new so é usada em tipos concretos) * (Activador é uma classe que deixa criar uma instancia de tipo generico) */ T pessoa = Activator.CreateInstance<T>(); try { //Tenta abrir a conexao dataBase.AbrirConexao(); /* Query responsavel por buscar uma pessoa pelo seu nome */ string query = "SELECT p.*, e.rua, e.numero, e.cep, e.cidade, e.estado FROM Pessoa p " + "LEFT JOIN Endereco e ON p.idEndereco = e.id " + "INNER JOIN " + pessoa.GetType().Name + " tg ON p.id = tg.id " + "WHERE lower(p.nome) LIKE @Name ORDER BY p.id;"; //Comando responsavel pela query MySqlCommand command = new MySqlCommand(query, dataBase.GetConexao()); //Adição de parametros ja com valor command.Parameters.AddWithValue("@Name", "%" + name + "%"); //Executar instrução com retorno de dados, retorna objeto do tipo MySqlDataReader MySqlDataReader dr = command.ExecuteReader(); //Percorrer esse objeto até obter todos os dados if (dr.HasRows) { while (dr.Read()) { /* Variavel local responsável por armazenar a pessoa pesquisada no banco de dados. * (A palavra new so é usada em tipos concretos) * (Activador é uma classe que deixa criar uma instancia de tipo generico) */ pessoa = Activator.CreateInstance<T>(); //Chama o metodo auxiliar para setar a Pessoa vindo do banco pessoa = setPessoa(dr, pessoa); //Adiciona a pessoa na lista pessoas.Add(pessoa); } } else { //Caso ocorra algum problema retorna null return null; } } //Caso ocorra algum tipo de exceção será tratado aqui. catch (MySqlException ex) { //Mostrar o erro na tela MessageBox.Show("Erro: " + ex.Message); //Caso ocorra algum problema retorna null return null; } finally { //Independente se ocorrer erro ou não a conexão com o banco de dados será fechada dataBase.FecharConexao(); } /* Retorna todas as pessoas pesquisadas */ return pessoas; }
/* Método responsável pela iserção do endereço no bd. * Esse método retorna um objeto do tipo Endereco que representa o ultimo Endereco * inserido no banco, para que esse endereço * possa ser associado a pessoa correta*/ public Endereco Create(Endereco endereco) { //Recupera a instancia unica do banco de dados dataBase = DataBase.GetInstance(); //Variavel local responsável por armazenar o ultimo endereco inserido na tabela Endereco Endereco ultimoEndereco = new Endereco(); try { //Tenta abrir a conexao dataBase.AbrirConexao(); /* Utilizamos uma Stored Procedure para retornar o ultimo endereco inserido na tabela Endereco. * Essa procedure foi feita pelo fato de o id ser auto_increment, sendo assim, sem o uso de procedure * não teriamos o controle de qual id foi inserido por ultimo. */ string query = "CALL sp_endereco_insert (@Rua, @Numero, @Cep, @Cidade, @Estado)"; //Comando responsavel pela query MySqlCommand command = new MySqlCommand(query, dataBase.GetConexao()); //Adição de parametros e espeficicação dos tipos command.Parameters.Add("@Rua", MySqlDbType.String); command.Parameters.Add("@Numero", MySqlDbType.Int32); command.Parameters.Add("@Cep", MySqlDbType.Int32); command.Parameters.Add("@Cidade", MySqlDbType.String); command.Parameters.Add("@Estado", MySqlDbType.String); //Atribuição de valores command.Parameters["@Rua"].Value = endereco.Rua; command.Parameters["@Numero"].Value = endereco.Numero; command.Parameters["@Cep"].Value = endereco.Cep; command.Parameters["@Cidade"].Value = endereco.Cidade; command.Parameters["@Estado"].Value = endereco.Estado; //Executar instrução com retorno de dados, retorna objeto do tipo MySqlDataReader MySqlDataReader dr = command.ExecuteReader(); //Chama o metodo auxiliar para setar o Endereco vindo do banco ultimoEndereco = setEndereco(dr, ultimoEndereco); } //Caso ocorra algum tipo de exceção será tratado aqui. catch (MySqlException ex) { //Mostrar o erro na tela MessageBox.Show("Erro: " + ex.Message); //Caso ocorra algum problema retorna null return(null); } finally { //Independente se ocorrer erro ou não a conexão com o banco de dados será fechada dataBase.FecharConexao(); } /* Retorna o ultimo endereco inserido na tabela Endereco * para que possa ser asociado a Pessoa correta * (Esse retorno se torna necessario para controlar os ids da tabela, pois é um campo auto_increment) */ return(ultimoEndereco); }
public List<Cliente> ListAll() { //Recupera a instancia unica do banco de dados dataBase = DataBase.GetInstance(); /* Variavel local responsável por armazenar o todos os clientes vindas do banco */ //Chama o metodo generico da classe pessoaDAO List<Cliente> clientes = pessoaDAO.ListAll<Cliente>(); /* Variavel local responsável por armazenar o cliente pesquisado no banco de dados */ Cliente cliente = new Cliente(); try { //Tenta abrir a conexao dataBase.AbrirConexao(); /* Query responsavel por buscar uma pessoa pelo seu id */ string query = "SELECT email FROM Cliente ORDER BY id"; //Comando responsavel pela query MySqlCommand command = new MySqlCommand(query, dataBase.GetConexao()); //Executar instrução com retorno de dados, retorna objeto do tipo MySqlDataReader MySqlDataReader dr = command.ExecuteReader(); //Percorrer esse objeto até obter todos os dados if (dr.HasRows) { //Contador para percorrer a lista int count = 0; while (dr.Read()) { //Chama o metodo auxiliar para setar a Pessoa vindo do banco cliente = setCliente(dr, cliente); //Percorre a lista e altera o email de cada cliente clientes[count++].Email = cliente.Email; } } else { //Caso ocorra algum problema retorna null return null; } } //Caso ocorra algum tipo de exceção será tratado aqui. catch (MySqlException ex) { //Mostrar o erro na tela MessageBox.Show("Erro: " + ex.Message); //Caso ocorra algum problema retorna null return null; } finally { //Independente se ocorrer erro ou não a conexão com o banco de dados será fechada dataBase.FecharConexao(); } /* Retorna todos os clientes pesquisados */ return clientes; }