I have used the article
Display Images in GridView Control using the path stored in SQL Server database
Now to edit update you can use the following code
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" Font-Names="Arial" OnRowEditing = "OnRowEditing" OnRowCancelingEdit = "OnRowCancelingEdit" OnRowUpdating = "OnRowUpdating">
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" ReadOnly="true" />
<asp:BoundField DataField="FileName" HeaderText="Image Name" ReadOnly = "true"/>
<asp:TemplateField>
<ItemTemplate>
<asp:Image ID="Image1" runat="server" ImageUrl='<%# Eval("FilePath") %>' Height="100"
Width="100" />
</ItemTemplate>
<EditItemTemplate>
<asp:FileUpload ID="FileUpload1" runat="server" />
</EditItemTemplate>
</asp:TemplateField>
<asp:CommandField ShowEditButton="True" />
</Columns>
</asp:GridView>
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
String strConnString = System.Configuration.ConfigurationManager.ConnectionStrings["conString"].ConnectionString;
string strQuery = "select * from tblFiles order by ID";
SqlCommand cmd = new SqlCommand(strQuery);
SqlConnection con = new SqlConnection(strConnString);
SqlDataAdapter sda = new SqlDataAdapter();
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
sda.SelectCommand = cmd;
sda.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
}
protected void OnRowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
GridView1.DataBind();
}
protected void OnRowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
GridView1.EditIndex = -1;
GridView1.DataBind();
}
protected void OnRowUpdating(object sender, GridViewUpdateEventArgs e)
{
HttpPostedFile file = ((FileUpload)GridView1.Rows[e.RowIndex].FindControl("FileUpload1")).PostedFile;
string fileName = Path.GetFileName(file.FileName);
string oldFileName = GridView1.Rows[e.RowIndex].Cells[1].Text;
string strConnString = System.Configuration.ConfigurationManager.ConnectionStrings["conString"].ConnectionString;
SqlConnection con = new SqlConnection(strConnString);
string strQuery = "update tblFiles set FileName=@FileName, FilePath=@FilePath where ID=@ID";
SqlCommand cmd = new SqlCommand(strQuery);
cmd.Parameters.AddWithValue("@ID", GridView1.Rows[e.RowIndex].Cells[0].Text);
cmd.Parameters.AddWithValue("@FileName", Path.GetFileName(file.FileName));
cmd.Parameters.AddWithValue("@FilePath", "images/" + fileName);
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
File.Delete(Server.MapPath("~/images/") + oldFileName);
file.SaveAs(Server.MapPath("~/images/") + fileName);
GridView1.EditIndex = -1;
Response.Redirect(Request.Url.AbsoluteUri);
}