За демонстрацију рада са 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 треба да буде попуњена као на слици изнад.