Skip to content

Insert, Update, Delete

За демонстрацију рада са Insert, Update i Delete командама користићемо једноставну Windows Forms апликацију са DataGridView контролом и податке из Northwind базе података. Креирајте као и у претходној лекцији почетну апликацију, додајте две лабеле, два текст бокса и три дугмета:

код:

using System;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;

namespace InsertUpdateDelete
{
    public partial class Form1 : Form
    {
        SqlDataAdapter da;
        SqlConnection con = new SqlConnection("Data Source=MAINFRAME\\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True");
        SqlCommand cmd;
        DataTable dt;

        public Form1()
        {
            InitializeComponent();
            PrikaziTabelu();
        }

        private void PrikaziTabelu()
        {
            con.Open();
            dt = new DataTable();
            da = new SqlDataAdapter("Select * from Employees", con);
            da.Fill(dt);
            dataGridView1.DataSource = dt;
            con.Close();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text != "" && textBox2.Text != "")
            {
                cmd = new SqlCommand("Insert into Employees(LastName,FirstName) Values(@lName,@fName)", con);
                con.Open();
                cmd.Parameters.AddWithValue("@lName", textBox1.Text);
                cmd.Parameters.AddWithValue("@fName", textBox2.Text);
                cmd.ExecuteNonQuery();
                con.Close();
                PrikaziTabelu();
                textBox1.Text = "";
                textBox2.Text = "";
            }
            else
                MessageBox.Show("Popunite oba polja za unos!");
        }

        int id = 0;
        private void dataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            id = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString());
            textBox1.Text = dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString();
            textBox2.Text = dataGridView1.Rows[e.RowIndex].Cells[2].Value.ToString();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            if (textBox1.Text != "" && textBox2.Text != "")
            {
                cmd = new SqlCommand("Update Employees set LastName=@lName,FirstName=@fName where EmployeeID=@id", con);
                con.Open();
                cmd.Parameters.AddWithValue("@id", id);
                cmd.Parameters.AddWithValue("@lName", textBox1.Text);
                cmd.Parameters.AddWithValue("@fName", textBox2.Text);
                cmd.ExecuteNonQuery();
                con.Close();
                PrikaziTabelu();
                textBox1.Text = "";
                textBox2.Text = "";
            }
            else
                MessageBox.Show("Označite red koji želite da ažurirate!");
        }

        private void button3_Click(object sender, EventArgs e)
        {
            if (id != 0)
            {
                cmd = new SqlCommand("Delete Employees where EmployeeID=@id", con);
                con.Open();
                cmd.Parameters.AddWithValue("@id", id);
                cmd.ExecuteNonQuery();
                con.Close();
                PrikaziTabelu();
                textBox1.Text = "";
                textBox2.Text = "";
            }
            else
                MessageBox.Show("Označite red koji želite da obrišete!");
        }
    }
}

Када покренете апликацију, контрола dataGridView1 треба да буде попуњена као на слици изнад.