protected void btnCadastrar_Click(object sender, EventArgs e)
        {
            try
            {
                Livro l = new Livro();//instancia de um novo livro
                //obtem valores dos TextBox
                l.Nome = txtNome.Text;
                l.Autor = txtAutor.Text;
                l.Editora = txtEditora.Text;
                l.Genero = txtGenero.Text;
                l.Lingua = txtLingua.Text;
                l.Paginas = Convert.ToInt32(txtPaginas.Text);
                l.Ano = Convert.ToInt32(txtAno.Text);
                l.Edicao = Convert.ToInt32(txtEdicao.Text);
                l.Isbn = Convert.ToInt32(txtIsbn.Text);
                //grava no banco
                LivroDAL d = new LivroDAL();
                d.Cadastrar(l);
                //mensagem de confirmação
                lblMensagem.Text = "Livro Cadastrado com Sucesso";
            }
            catch (Exception ex)
            {

                throw new Exception("Erro" + ex.Message);
            }
        }
        //Cadastrar Livro - Insert
        public void Cadastrar(Livro l)
        {
            try
            {
                Conectar();
                //Script do insert

                Cmd = new SqlCommand("insert into tb_livro (nome, autor, editora, genero, lingua, paginas, ano, edicao, isbn)values(@nome, @autor, @editora, @genero, @lingua, @paginas, @ano, @edicao, @isbn)",Con);
                Cmd.Parameters.AddWithValue("@nome",l.Nome);
                Cmd.Parameters.AddWithValue("@autor", l.Autor);
                Cmd.Parameters.AddWithValue("@editora", l.Editora);
                Cmd.Parameters.AddWithValue("@genero", l.Genero);
                Cmd.Parameters.AddWithValue("@lingua", l.Lingua);
                Cmd.Parameters.AddWithValue("@paginas", l.Paginas);
                Cmd.Parameters.AddWithValue("@ano", l.Ano);
                Cmd.Parameters.AddWithValue("@edicao", l.Edicao);
                Cmd.Parameters.AddWithValue("@isbn", l.Isbn);
                Cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {

                throw new Exception(" ao Gravar Livro: " + ex.Message);
            }
            finally
            {
                Desconetar();
            }
        }
        //Atualizar dados - Update
        public void Alterar(Livro l)
        {
            try
            {
                Conectar();
                Cmd = new SqlCommand("update tb_livro set nome=@nome, autor=@autor, editora=@editora, genero=@genero, lingua=@lingua, paginas=@paginas, ano=@ano, edicao=@edicao, isbn=@isbn where nome=@nome", Con);
                Cmd.Parameters.AddWithValue("@nome", l.Nome);
                Cmd.Parameters.AddWithValue("@autor", l.Autor);
                Cmd.Parameters.AddWithValue("@editora", l.Editora);
                Cmd.Parameters.AddWithValue("@genero", l.Genero);
                Cmd.Parameters.AddWithValue("@lingua", l.Lingua);
                Cmd.Parameters.AddWithValue("@paginas", l.Paginas);
                Cmd.Parameters.AddWithValue("@ano", l.Ano);
                Cmd.Parameters.AddWithValue("@edicao", l.Edicao);
                Cmd.Parameters.AddWithValue("@isbn", l.Isbn);
                Cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {

                throw new Exception("Não foi possível atualizar o livro: " +ex.Message);
            }
            finally
            {
                Desconetar();
            }
        }
        //Consultar por autor
        public List<Livro> ConsultarAutor(string autor)
        {
            try
            {
                Conectar();
                Cmd = new SqlCommand("select * from tb_livro where autor=@autor", Con);
                Cmd.Parameters.AddWithValue("@autor", autor);

                Dr = Cmd.ExecuteReader();
                List<Livro> lista = new List<Livro>();//cria uma lista vazia

                while (Dr.Read())
                {
                    Livro l = new Livro();//cria a instancia do livro
                    //recupera os valores lidos da base de dados
                    l.Id = Convert.ToInt32(Dr["id"]);
                    l.Nome = Convert.ToString(Dr["nome"]);
                    l.Autor = Convert.ToString(Dr["autor"]);
                    l.Editora = Convert.ToString(Dr["editora"]);
                    l.Genero = Convert.ToString(Dr["genero"]);
                    l.Lingua = Convert.ToString(Dr["lingua"]);
                    l.Paginas = Convert.ToInt32(Dr["paginas"]);
                    l.Ano = Convert.ToInt32(Dr["ano"]);
                    l.Edicao = Convert.ToInt32(Dr["edicao"]);
                    l.Isbn = Convert.ToInt32(Dr["isbn"]);
                    //adiciona a lista
                    lista.Add(l);
                }
                return lista;
            }
            catch (Exception ex)
            {

                throw new Exception("Nada foi encontrado" + ex.Message);
            }
            finally
            {
                Desconetar();
            }
        }