using using using using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Linq; System.Text; System.Threading.Tasks; System.Windows.Forms; System.Data.SqlClient; namespace Unos_Pod_Projekat_1 { public partial class frm_Ucenik : Form { //Inicijalni podaci za konekciju SqlConnection cn; SqlCommand cm = new SqlCommand(); DBConection dbcon = new DBConection(); SqlDataReader dr; // Globalne promenljive - Novo dodato 07.12.2021 string id_grida; int selektovani_red_grida, id_ucenika, id_ulice; public frm_Ucenik() { InitializeComponent(); //Uspostavljanje konekcije u trenutku poziva forme cn = new SqlConnection(dbcon.MyConection()); Ucitaj_Adrese(); } void Ucitaj_Adrese() { //Dodavanje Drzava u cb_Naziv_Drzave cn.Open(); cm = new SqlCommand(" SELECT * FROM adresa ", cn); cm.ExecuteNonQuery(); dr = cm.ExecuteReader(); DataTable dt = new DataTable(); dt.Load(dr); //Unos reda -Select- prije pozivanja ostalih redova DataRow Selelct_adresa = dt.NewRow(); Selelct_adresa[1] = "- Select - "; //Drugi član u nizu je naziv_grada dt.Rows.InsertAt(Selelct_adresa, 0); //Drugi argument "0" u metodi je dodatak na naziv_grada cmb_Adresa.DataSource = dt; //Pozivanje ostalih redova u DataSourse cmb_Adresa.DisplayMember = "ulica"; cmb_Adresa.ValueMember = "id"; cmb_Adresa.AutoCompleteMode = AutoCompleteMode.Suggest; cmb_Adresa.AutoCompleteSource = AutoCompleteSource.ListItems; dr.Close(); cn.Close(); } //Predstavi učenika u gridu - Novo dodato 07.12.2021 void Ucitaj_ucenika() { int i = 0; dataGrid_Pregled_Ucenika.Rows.Clear(); cn.Open(); cm.CommandText= " select u.id, u.ime, u.prezime, u.osobine_ucenika, a.ulica" + " from ucenik as u " + " left outer join adresa as a on u.id_adrese = a.id "; cm.ExecuteNonQuery(); dr = cm.ExecuteReader(); while(dr.Read()) { i++; dataGrid_Pregled_Ucenika.Rows.Add(i, dr["id"].ToString(), dr["ime"].ToString(), dr["prezime"].ToString(), dr["osobine_ucenika"].ToString(), dr["ulica"].ToString()); } dr.Close(); cn.Close(); } private void btn_Unos_Click(object sender, EventArgs e) { if (txt_Ime_ucenika.Text != "" && txt_Prezime_ucenika.Text != "" ) { try { cn.Open(); cm = new SqlCommand(" INSERT INTO ucenik (ime, prezime, osobine_ucenika, id_adrese )" + " VALUES (@ime, @prezime, @osobine_ucenika, @id_adrese)", cn); cm.Parameters.AddWithValue("@ime", txt_Ime_ucenika.Text); cm.Parameters.AddWithValue("@prezime", txt_Prezime_ucenika.Text); cm.Parameters.AddWithValue("@osobine_ucenika", txt_Osobine_ucenika.Text); cm.Parameters.AddWithValue("@id_adrese", cmb_Adresa.SelectedValue); cm.ExecuteNonQuery(); MessageBox.Show("Uspešno ste dodadali novog učenika", "Ovbevestenje", MessageBoxButtons.OK, MessageBoxIcon.Information); cn.Close(); } catch (Exception ex) { cn.Close(); MessageBox.Show(ex.Message); } } else { MessageBox.Show("Niste uneli potrebne podatke o uceniku", "Ovbevestenje", MessageBoxButtons.OK, MessageBoxIcon.Information); } Ucitaj_ucenika(); } //Novo dodato 07.12.2021 private void dataGrid_Objekat_CellContentClick(object sender, DataGridViewCellEventArgs e) { //Izmena i brisanje podataka iz grida - Objekat string naziv_kolone = dataGrid_Pregled_Ucenika.Columns[e.ColumnIndex].Name; id_grida = dataGrid_Pregled_Ucenika.Rows[e.RowIndex].Cells[1].Value.ToString(); selektovani_red_grida = dataGrid_Pregled_Ucenika.CurrentRow.Index; //Editovanje i brisanje reda iz DataGrid-a if (naziv_kolone == "Edit_Ucenika") { //Id objekta za selektovani red iz grida id_ucenika = Int32.Parse(id_grida); cn.Open(); cm = new SqlCommand(" SELECT * FROM UCENIK" + " WHERE id=" + id_ucenika, cn); dr = cm.ExecuteReader(); while (dr.Read()) { txt_Ime_ucenika.Text = dr["ime"].ToString(); txt_Prezime_ucenika.Text = dr["prezime"].ToString(); txt_Osobine_ucenika.Text = dr["osobine_ucenika"].ToString(); id_ulice = Int32.Parse(dr["id_adrese"].ToString()); } dr.Close(); cn.Close(); //Mora da postoji zatvorena konekcija zbog selektovanja vradnosti iz ComboBox-ova cmb_Adresa.SelectedValue = id_ulice; } else if (naziv_kolone == "Delete_Ucenika") { try { if (MessageBox.Show("Da li ste sigurni da želite da izbrišete selektovani red?", "Upozorenje", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { cn.Open(); cm = new SqlCommand(" DELETE FROM UCENIK " + " WHERE id=" + id_grida, cn); cm.ExecuteNonQuery(); cn.Close(); Ucitaj_ucenika(); MessageBox.Show("Red je uspesno izbrisan", "Obaveštenje", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception ex) { dr.Close(); cn.Close(); MessageBox.Show(ex.Message); } } } private void button1_Click(object sender, EventArgs e) { Ucitaj_ucenika(); } private void btn_Izbrisi_Click(object sender, EventArgs e) { try { if (MessageBox.Show("Da li ste sigurni da želite da izbrišete selektovani red?", "Upozorenje", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { cn.Open(); cm = new SqlCommand(" DELETE FROM UCENIK " + " WHERE id=" + id_grida, cn); cm.ExecuteNonQuery(); cn.Close(); Ucitaj_ucenika(); MessageBox.Show("Red je uspesno izbrisan", "Obaveštenje", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception ex) { dr.Close(); cn.Close(); MessageBox.Show(ex.Message); } } private void btn_Izmeni_Click(object sender, EventArgs e) { //Izmena selektovanog objekta //Kreiranje upita za unos podataka u tabelu objekat cn.Open(); cm = new SqlCommand(" UPDATE UCENIK SET ime=@ime_ucenika, prezime=@prezime_ucenika, " + " osobine_ucenika=@osobine_ucenika, " + " id_adrese=@id_adrese " + " WHERE id=" + id_grida, cn); cm.Parameters.AddWithValue("@ime_ucenika", txt_Ime_ucenika.Text); cm.Parameters.AddWithValue("@prezime_ucenika", txt_Prezime_ucenika.Text); cm.Parameters.AddWithValue("@osobine_ucenika", txt_Osobine_ucenika.Text); cm.Parameters.AddWithValue("@id_adrese", cmb_Adresa.SelectedValue); cm.ExecuteNonQuery(); cn.Close(); Ucitaj_ucenika(); dataGrid_Pregled_Ucenika.Rows[selektovani_red_grida].Selected = true; dataGrid_Pregled_Ucenika.FirstDisplayedScrollingRowIndex = selektovani_red_grida; MessageBox.Show("Uspešno ste izmenili selektovni red", "Obavestenje", MessageBoxButtons.OK, MessageBoxIcon.Information); txt_Ime_ucenika.Clear(); txt_Prezime_ucenika.Clear(); txt_Osobine_ucenika.Clear(); cmb_Adresa.SelectedValue = 0; } } }