Uploaded by davud.nusevic

Priprema za čas - Decembar 1 - Sedmica

advertisement
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;
}
}
}
Download