In this article, we will know how to add details of an employee with an image and display it into a GridView. Here an image will be stored in the application folder. We can also edit, update, delete, and cancel the details of the employee in the GridView.
Table Creation
Stored procedure
- CREATE PROCEDURE insert_employee
- (
- @name varchar(50),
- @address varchar(50),
- @image varchar(50)
- )
- AS
- Insert into employee values(@name, @address, @image)
-
- CREATE PROCEDURE update_employee
- (
- @id int,
- @name varchar(50),
- @address varchar(50)
- )
- AS
- Update employee set name = @name, address = @address where id = @id
-
- CREATE PROCEDURE delete_employee
- (@id int)
- AS
- Delete from employee where id = @id
Default.aspx Code
Default.aspx.cs Code:
- using System;
- using System.Collections;
- using System.Configuration;
- using System.Data;
- using System.Linq;
- using System.Web;
- using System.Web.Security;
- using System.Web.UI;
- using System.Web.UI.HtmlControls;
- using System.Web.UI.WebControls;
- using System.Web.UI.WebControls.WebParts;
- using System.Xml.Linq;
- using System.Data.SqlClient;
- using System.IO;
-
- namespace Add_update_delete_gridview {
- public partial class _Default: System.Web.UI.Page {
- string strConnString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
- string s1;
- string path;
- SqlConnection cnn = new SqlConnection();
- SqlCommand com = new SqlCommand();
- SqlDataAdapter sqlda;
- DataTable dt;
- int id;
- string name;
- string address;
- string image;
- protected void Page_Load(object sender, EventArgs e) {
- if (!IsPostBack) {
- bindgrid();
- }
- }
- protected void btn_insert_Click(object sender, EventArgs e) {
- if (FileUpload1.PostedFile.ContentLength > 0) {
- s1 = Path.GetFileName(FileUpload1.FileName);
- path = Server.MapPath("images") + "/" + s1;
- FileUpload1.SaveAs(path);
- }
- SqlConnection con = new SqlConnection(strConnString);
- con.Open();
- SqlCommand com = new SqlCommand("insert_employee", con);
- com.CommandType = CommandType.StoredProcedure;
- com.Connection = con;
- com.Parameters.AddWithValue("@name", txt_name.Text);
- com.Parameters.AddWithValue("@address", txt_address.Text);
- com.Parameters.AddWithValue("@image", s1);
- com.ExecuteNonQuery();
- com.Dispose();
- bindgrid();
- con.Close();
- clear();
- }
- private void clear() {
- txt_name.Text = "";
- txt_address.Text = "";
- }
- private void bindgrid() {
- SqlConnection con = new SqlConnection(strConnString);
- con.Open();
- sqlda = new SqlDataAdapter("SELECT * FROM employee ", con);
- dt = new DataTable();
- sqlda.Fill(dt);
- sqlda.Dispose();
- GridView1.DataSource = dt;
- GridView1.DataBind();
- con.Close();
- }
- protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) {
- SqlConnection con = new SqlConnection(strConnString);
- con.Open();
- try {
- id = Convert.ToInt32(((Label)(GridView1.Rows[e.RowIndex].FindControl("label2"))).Text);
- SqlCommand com = new SqlCommand("delete_employee", con);
- com.CommandType = CommandType.StoredProcedure;
- com.Connection = con;
- com.Parameters.Add("@id", SqlDbType.Int).Value = id;
- SqlDataAdapter sqlda = new SqlDataAdapter("select * from employee where id=@id", con);
- sqlda.SelectCommand.Parameters.Add("@id", SqlDbType.Int).Value = id;
- DataSet ds = new DataSet();
- sqlda.Fill(ds);
- try {
- image = Convert.ToString(ds.Tables[0].Rows[0]["image"]);
- File.Delete(Server.MapPath("images") + "\\" + image);
- } catch (Exception) {}
- com.ExecuteNonQuery();
- com.Dispose();
- bindgrid();
- } catch (Exception) {}
- }
- protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) {
- GridView1.EditIndex = -1;
- bindgrid();
- }
- protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) {
- GridView1.EditIndex = e.NewEditIndex;
- bindgrid();
- }
- protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) {
- SqlConnection con = new SqlConnection(strConnString);
- con.Open();
- id = Convert.ToInt32(((Label)(GridView1.Rows[e.RowIndex].FindControl("label4"))).Text);
- name = (((TextBox)(GridView1.Rows[e.RowIndex].FindControl("txt_name"))).Text);
- address = (((TextBox)(GridView1.Rows[e.RowIndex].FindControl("txt_address"))).Text);
- SqlCommand com = new SqlCommand("update_employee", con);
- com.CommandType = CommandType.StoredProcedure;
- com.Connection = con;
- com.Parameters.Add("@id", SqlDbType.Int).Value = id;
- com.Parameters.Add("@name", SqlDbType.VarChar, 50).Value = name;
- com.Parameters.Add("@address", SqlDbType.VarChar, 50).Value = address;
- com.ExecuteNonQuery();
- com.Dispose();
- con.Close();
- GridView1.EditIndex = -1;
- bindgrid();
- }
- protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e) {
- GridView1.PageIndex = e.NewSelectedIndex;
- bindgrid();
- }
- }
- }
Output: Here we will see the output which is given below.