public List <Usuario> Pesquisar(string nome) { List <Usuario> users = new List <Usuario>(); string sql = $@"select * from usuario where nome like @Nome" ; try { Dictionary <string, object> parametros = new Dictionary <string, object>(); parametros.Add("@Nome", "%" + nome + "%"); DbDataReader dr = _bd.ExecuteQuery(sql, parametros); users = Map(dr); } catch { return(null); } finally { if (!_bd._manterConexaoAberta) { _bd.Fechar(); } } return(users); }
public bool getCategoria(int id, Categoria cat) { string sql = $"select * from categoria where CategoriaId = {id}"; bool ok = false; try { DbDataReader dr = _bd.ExecuteQuery(sql); if (dr.HasRows) { ok = dr.Read(); cat.Id = id; cat.Nome = dr["Nome"].ToString(); ok = true; } } catch { } finally { if (!_bd._manterConexaoAberta) { _bd.Fechar(); } } return(ok); }
public int getMaxPK() { int maxPK = -1; string sql = @"SELECT MAX(ProdutoId) as MaxPK FROM produto" ; try { DbDataReader dr = _bd.ExecuteQuery(sql); if (dr.Read()) { maxPK = Convert.ToInt32(dr["MaxPK"]); } } catch { } finally { _bd.Fechar(); } return(maxPK); }
public bool Gravar(Usuario usuario) { bool ok = false; #region Usar outra conexão para transações que precisam se manterem abertas, como o Gravar() varios itens de tabelas diferentes ou vários selects MySqlPersistence _localbd = new MySqlPersistence(true); // true mantem a conexao aberta #endregion try { _localbd.IniciarTransacao(); // a partir daqui, abre transação e o codigo está protegido // Mapeamento Objeto-Relacional --> transformar objeto em linha de tabela do banco string sql = @"INSERT usuario (Nome, Email, Senha) VALUES (@Nome, @Email, @Senha)" ; Dictionary <string, object> parametros = new Dictionary <string, object>(); parametros.Add("@Nome", usuario.Nome); parametros.Add("@Email", usuario.Email); parametros.Add("@Senha", usuario.Senha); int qtdeLinhas = _localbd.ExecuteNonQuery(sql, parametros); ok = qtdeLinhas > 0; // confirma transacao _localbd.TransacaoCommit(); } catch { _localbd.TransacaoRollback(); } finally { _localbd.Fechar(); } return(ok); }