Hi, I have found the problem. if you did not choose any files for uploading then the @resume field should not update. make a necessary condition in your code.
try this code
protected void btnUpdate2_Click(object sender, EventArgs e)
{
string EmpID = (string)Request.QueryString["empid"];
try
{ string FilePath ="";
if (FileUpload1.FileName != "")
{
string strDestination = AppDomain.CurrentDomain.BaseDirectory + "Uploads\\" + System.IO.Path.GetFileName(FileUpload1.FileName); FilePath = FileUpload1.FileName.ToString();
}else { FilePath = Convert.ToString(hidResume.Value)
}
string constr = ConfigurationManager.ConnectionStrings["ConStr"].ToString();
SqlConnection con = new SqlConnection(constr);
con.Open();
SqlCommand cmd = new SqlCommand("[Usp_UpdateProfile]", con);
cmd.Parameters.AddWithValue("@name", txtEmpName.Text);
cmd.Parameters.AddWithValue("@mysiteurl", txtMySiteURL.Text);
cmd.Parameters.AddWithValue("@ro", txtRO.Text);
cmd.Parameters.AddWithValue("@email", txtEMail.Text);
cmd.Parameters.AddWithValue("@resume",FilePath);
cmd.Parameters.AddWithValue("@empid", EmpID);
cmd.CommandType = CommandType.StoredProcedure;
cmd.ExecuteNonQuery();
con.Close();
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
Directory.CreateDirectory(MapPath(".") + "\\ Uploads ");
} place a hidden field in your aspx page as
<asp:hidden id="hidResume" runat="server" />
protected void Page_Load(object sender, EventArgs e)
{
string EmpID = (string)Request.QueryString["empid"];
if (!Page.IsPostBack)
{
txtEmpName.ReadOnly = true;
txtMySiteURL.ReadOnly = true;
txtRO.ReadOnly = true;
txtEMail.ReadOnly = true;
FileUpload1.Enabled = false;
btnUpdate2.Enabled = false; SetValue(EmpID);
}
}
private void SetValue(string EmpID)
{
//EmpID = (string)Request.QueryString["empid"];
string constr = ConfigurationManager.ConnectionStrings["ConStr"].ToString();
SqlConnection con = new SqlConnection(constr);
con.Open();
SqlCommand cmd = new SqlCommand("Usp_SetEmpById", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@empid", Convert.ToInt32(EmpID));
SqlDataReader sdr = cmd.ExecuteReader();
while (sdr.Read())
{
txtEmpName.Text = sdr["EmpName"].ToString();
txtMySiteURL.Text = sdr["MySiteURL"].ToString();
txtRO.Text = sdr["ReportingOfficer"].ToString();
txtEMail.Text = sdr["EMail"].ToString(); hidResume.Value = sdr["Resume"].ToString();
}
con.Close();
}
|