private void btnSalvar_Click(object sender, EventArgs e) { try { AtorDiretor p = new AtorDiretor(); p.Nome = tboNome.Text; p.DataNascimento = DateTime.Parse(tboDataNascimento.Text); p.Nacionalidade = tboNacionalidade.Text; // Converte a foto do PictureBox em um array de bytes. // O objeto pbFoto (PictureBox) é passado como argumento. p.Foto = Photo.ConvertFileToByte(pbFoto); AtorDiretorDAO.Inserir(p); Close(); frmLista listaAD = new frmLista(); listaAD.dgvLista.DataSource = AtorDiretorDAO.Selecionar(); listaAD.Show(); } catch (Exception ex) { MessageBox.Show("Erro: " + ex.Message); } }
private void DgvLista_DoubleClick(object sender, EventArgs e) { var id = int.Parse(listaAD.dgvLista.SelectedCells[0].Value.ToString()); AtorDiretor ad = new AtorDiretor(); ad = atoresDiretores.Single(a => a.Id == id); editarAd = new frmNovoAtorDiretor(); editarAd.tboNome.Text = ad.Nome; editarAd.tboDataNascimento.Text = ad.DataNascimento.ToString(); editarAd.tboNacionalidade.Text = ad.Nacionalidade; editarAd.pbFoto.Image = Photo.ConvertByteToImage(ad.Foto); editarAd.pbFoto.SizeMode = PictureBoxSizeMode.StretchImage; editarAd.tboNome.Enabled = false; editarAd.tboNacionalidade.Enabled = false; editarAd.tboDataNascimento.Enabled = false; editarAd.btnSelecionar.Enabled = false; editarAd.btnSalvar.Hide(); Button btnEditar = new Button(); btnEditar.Text = "Editar"; btnEditar.Size = new Size(97, 23); btnEditar.Location = new Point(272, 465); btnEditar.UseVisualStyleBackColor = true; btnEditar.Parent = editarAd; btnEditar.Show(); btnEditar.Click += BtnEditar_Click1; editarAd.Show(); }
// Retorna um único registro que será localizado pelo id public static AtorDiretor Selecionar(int id) { string commandText = @"SELECT Id, Nome, Nacionalidade, DtNascimento, Foto " + "FROM AtorDiretor WHERE Id = " + id; AtorDiretor atorDiretor = null; using (SQLiteConnection connection = new SQLiteConnection(connectionString)) { connection.Open(); using (SQLiteCommand command = new SQLiteCommand(commandText, connection)) { using (SQLiteDataReader reader = command.ExecuteReader()) { reader.Read(); if (reader.HasRows) { atorDiretor = new AtorDiretor(); atorDiretor.Id = int.Parse(reader[0].ToString()); atorDiretor.Nome = reader[1].ToString(); atorDiretor.Nacionalidade = reader[2].ToString(); atorDiretor.DataNascimento = DateTime.Parse(reader[3].ToString()); atorDiretor.Foto = (byte[])reader[4]; } } } } return(atorDiretor); }
private void ListaAD_Load(object sender, EventArgs e) { // Preenche o dataTable com registros do banco de dados dtAtoresDiretores = AtorDiretorDAO.Selecionar(); // Preenche o dataGrid com todos os atoresDiretores listaAD.dgvLista.Columns.Add("Id", "Id"); listaAD.dgvLista.Columns.Add("Nome", "Nome"); listaAD.dgvLista.Columns.Add("Nacionalidade", "Nacionalidade"); listaAD.dgvLista.Columns.Add("dtNascimento", "Data de Nascimento"); for (int i = 0; i < dtAtoresDiretores.Rows.Count; i++) { listaAD.dgvLista.Rows.Add( dtAtoresDiretores.Rows[i]["Id"].ToString(), dtAtoresDiretores.Rows[i]["Nome"].ToString(), dtAtoresDiretores.Rows[i]["Nacionalidade"].ToString(), dtAtoresDiretores.Rows[i]["dtNascimento"].ToString() ); } // Delega o evento de click ao botão btnPesquisar listaAD.btnPesquisar.Click += BtnPesquisar_Click; // Delega o evento de pressionamento de tecla a textBox tboPesquisa listaAD.tboPesquisa.KeyPress += TboPesquisa_KeyPress; // Delega o evento de doubleClick ao dataGrid listaAD.dgvLista.DoubleClick += DgvLista_DoubleClick; atoresDiretores = new List <AtorDiretor>(); // Preenche a lista com os registros do DataTable de Atores/Diretores for (int i = 0; i < dtAtoresDiretores.Rows.Count; i++) { AtorDiretor ad = new AtorDiretor(); ad.Id = int.Parse(dtAtoresDiretores.Rows[i]["Id"].ToString()); ad.Nome = dtAtoresDiretores.Rows[i]["Nome"].ToString(); ad.Nacionalidade = dtAtoresDiretores.Rows[i]["Nacionalidade"].ToString(); ad.DataNascimento = DateTime.Parse(dtAtoresDiretores.Rows[i]["DtNascimento"].ToString()); ad.Foto = (byte[])dtAtoresDiretores.Rows[i]["Foto"]; atoresDiretores.Add(ad); } }
// Insere um novo registro public static void Inserir(AtorDiretor atorDiretor) { string commandText = @"INSERT INTO AtorDiretor(Nome, Nacionalidade, DtNascimento, Foto) " + "VALUES('" + atorDiretor.Nome + "','" + atorDiretor.Nacionalidade + "','" + atorDiretor.DataNascimento + "', @Foto)"; using (SQLiteConnection connection = new SQLiteConnection(connectionString)) { connection.Open(); using (SQLiteCommand command = new SQLiteCommand(commandText, connection)) { SQLiteParameter foto = new SQLiteParameter("@Foto", DbType.Binary); foto.Value = atorDiretor.Foto; command.Parameters.Add(foto); command.ExecuteNonQuery(); MessageBox.Show("Registro adicionado com sucesso."); } } }