Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在不上载文件的情况下更新表单_C#_Asp.net_Ado - Fatal编程技术网

C# 如何在不上载文件的情况下更新表单

C# 如何在不上载文件的情况下更新表单,c#,asp.net,ado,C#,Asp.net,Ado,我想用文本框和文件更新表单,但当我尝试更新时,我也必须更新我想要的文件,如果我没有选择asp.net中可以更新的文件 FileInfo fi = new FileInfo(FileUpload1.FileName); byte[] DocumentContent = FileUpload1.FileBytes; string name = fi.Name; string extn = fi.Extension; using (SqlConnection cn = new SqlConn

我想用文本框和文件更新表单,但当我尝试更新时,我也必须更新我想要的文件,如果我没有选择asp.net中可以更新的文件

 FileInfo fi = new FileInfo(FileUpload1.FileName);
 byte[] DocumentContent = FileUpload1.FileBytes;
 string name = fi.Name;
 string extn = fi.Extension;
 using (SqlConnection cn = new SqlConnection(@" server = DESKTOP-IJCGFFC ; initial catalog = gaf_application ; integrated security =true"))
  {
      SqlCommand cmd = new SqlCommand("ModifierFournisseur", cn);
      cmd.CommandType = CommandType.StoredProcedure;
      cmd.Parameters.Add("@nom", SqlDbType.VarChar).Value = name;
      cmd.Parameters.Add("@ContentDoc", SqlDbType.VarBinary).Value = DocumentContent
      cmd.Parameters.Add("@extDoc", SqlDbType.VarChar).Value = extn;
      cmd.Parameters.Add("@Ref_fourn", SqlDbType.VarChar).Value = DropDownList1.SelectedValue;
      cmd.Parameters.Add("@Adress", SqlDbType.VarChar).Value = TextBox2.Text;
      cmd.Parameters.Add("@Article_rat", SqlDbType.VarChar).Value = TextBox3.Text;
      cmd.Parameters.Add("@Prix_achat", SqlDbType.Float).Value = TextBox4.Text;
      cmd.Parameters.Add("@date_fac", SqlDbType.Date).Value = TextBox5.Text;
      cn.Open();

      lblmsg.Visible = true;
      lblmsg.Text = "la modification bien fait!";

      cmd.ExecuteNonQuery();
      DropDownList1.SelectedIndex = 0;
      TextBox2.Text = "";
      TextBox3.Text = "";
      TextBox4.Text = "";
      TextBox5.Text = "";
  }

我可以更新一个文件

这是您需要做的

string name = string.Empty;
string extn = string.Empty;

if (FileUpload1.HasFile)
{
    FileInfo fi = new FileInfo(FileUpload1.FileName);
    byte[] DocumentContent = FileUpload1.FileBytes;
    name = fi.Name;
    extn = fi.Extension;      
}

只需在表单中添加复选框,然后根据复选框的选中值上载(或不上载):


if(chkUpload.Checked)
{
//复选框已选中,因此上载文件
}
//无论是否选中该复选框,都要更新数据库。

这是一个比我的答案更好的答案+1.尽管我总是选中
FileUpload.HasFile
,因为如果您在没有它的情况下运行该代码,那么当代码的其余部分尝试上载不存在的文件时,您将得到ArgumentNullException或其他东西