MAPPED E CLASSES DE PERSISTÊNCIAS.NET Aula 06 Programação web Prof. Allbert Velleniche de Aquino Almeida E-mail: professor@allbert.com.br Site: http://www.allbert.com.br
String de conexão Modo Fácil utilizando a interface do framework ou; Direto através do Web Config: <appsettings> <add key="strconexao" value="database=tcc; Data Source=localhost; User Id=root; Password=aluno; pooling=false" /> </appsettings>
String de conexão Observações importantes! DLL Mysql
Primeira camada de Persistência Mapeamento BD
Criando a Classe Mapped AppCode Métodos básicos: Conexão; Comando; Parâmetro; Adapter
Mapped.cs Importar using System.Configuration; using System.Data; using MySql.Data.MySqlClient;
Método para Conexão public static IDbConnection Connection() MySqlConnection objconexao = new MySqlConnection(ConfigurationManager.AppSettings ["strconexao"]); objconexao.open(); return objconexao;
Método para Command public static IDbCommand Command(string query, IDbConnection objconexao) IDbCommand command = objconexao.createcommand(); command.commandtext = query; return command;
Método para Parameter public static IDbDataParameter Parameter(string nomeparametro, object valor) return new MySqlParameter(nomeparametro, valor);
Método para DataAdapter public static IDataAdapter Adapter(IDbCommand command) IDbDataAdapter adap = new MySqlDataAdapter(); adap.selectcommand = command; return adap;
Classes de Persistência Acesso direto ao BD; Qualquer requisição é gerenciada pela persistência; Comandos básicos de objetos: Insert, Update e Delete; Oriundos de informações armazenadas do BD;
PessoasDB - Update public int Update(Pessoa pessoa) int errnumber = 0; try IDbConnection objconexao; IDbCommand objcommand; string sql = "UPDATE pes_pessoas SET "; sql += "pes_nome =?nome "; sql += "WHERE pes_cpf =?cpf"; // recebendo a conexão e executando o cmd objconexao = Mapped.Connection(); objcommand = Mapped.Command(sql, objconexao); //atribuindo os prm da string sql objcommand.parameters.add(mapped.parameter("?nome", pessoa.nome)); objcommand.parameters.add(mapped.parameter("?cpf", pessoa.cpf)); objcommand.executenonquery(); objconexao.close(); objcommand.dispose(); objconexao.dispose(); catch(exception ex) errnumber = -2; return errnumber;
PessoasDB - Insert public static int Insert(Pessoa pessoa) int errnumber = 0; try IDbConnection objconexao; IDbCommand objcommand; string sql = "INSERT INTO pes_pessoas VALUES "; sql += "(?cpf,?nome)"; objconexao = Mapped.Connection(); objcommand = Mapped.Command(sql, objconexao); objcommand.parameters.add(mapped.parameter("?nome", pessoa.nome)); objcommand.parameters.add(mapped.parameter("?cpf", pessoa.cpf)); objcommand.executenonquery(); objconexao.close(); objcommand.dispose(); objconexao.dispose(); catch(exception ex) errnumber = -2; return errnumber;
PessoasDB - Delete public int Delete(string cpf) int errnumber = 0; try IDbConnection objconexao; IDbCommand objcommand; string sql = "DELETE FROM pes_pessoas "; sql += "WHERE pes_cpf =?cpf"; objconexao = Mapped.Connection(); objcommand = Mapped.Command(sql, objconexao); objcommand.parameters.add(mapped.parameter("?cpf", cpf)); objcommand.executenonquery(); objconexao.close(); objcommand.dispose(); objconexao.dispose(); catch (Exception ex) errnumber = -2; return errnumber;
PessoasDB Select ALL public static DataSet SelectAll() DataSet ds = new DataSet(); IDbConnection objconexao; IDbCommand objcommand; IDataAdapter objdataadapter; objconexao = Mapped.Connection(); string sql = "SELECT * FROM pes_pessoas ; objcommand = Mapped.Command(sql, objconexao); objdataadapter = Mapped.Adapter(objCommand); objdataadapter.fill(ds); objconexao.close(); objcommand.dispose(); objconexao.dispose(); return ds;
PessoasDB Select ID public static Pessoa Select(string cpf) Pessoa objpessoa = null; IDbConnection objconexao; IDbCommand objcommand; IDataReader objdatareader; objconexao = Mapped.Connection(); string sql="select * FROM pes_pessoas WHERE pes_cpf =?cpf"; objcommand = Mapped.Command(sql, objconexao); objcommand.parameters.add(mapped.parameter("?cpf", cpf)); objdatareader = objcommand.executereader(); while (objdatareader.read()) objpessoa = new Pessoa (); objpessoa.cpf = Convert.ToString(objDataReader["pes_cpf"]); objpessoa.nome = Convert.ToString(objDataReader["pes_nome"]); objdatareader.close(); objconexao.close(); objcommand.dispose(); objconexao.dispose(); objdatareader.dispose(); return objpessoa;