NullReferenceException未被c#中的用户代码处理

时间:2016-03-06 05:56:31

标签: c# sql asp.net nullreferenceexception

当我们使用连接字符串NullReferenceException创建连接时。错误是

  

NullReferenceException未被用户代码处理。

我的代码如下:

 protected void upload_Click(object sender, EventArgs e)
    {

        string filename = Path.GetFileName(FileUpload1.PostedFile.FileName);

        string contentType = FileUpload1.PostedFile.ContentType;

        using (Stream fs = FileUpload1.PostedFile.InputStream)
        {
              using(BinaryReader br = new BinaryReader(fs))
              {
                  byte[] bytes = br.ReadBytes((Int32)fs.Length);


                      string constr =ConfigurationManager.ConnectionStrings["constr"].ConnectionString; 

                      using (SqlConnection con = new SqlConnection(constr))
                      {
                          string query = "insert into tblFiles values(@Name, @ContentType, @Data)";

                          using (SqlCommand cmd = new SqlCommand(query))
                          {
                              cmd.Connection = con;
                              cmd.Parameters.AddWithValue("@Name", filename);
                              cmd.Parameters.AddWithValue("@contentType", contentType);
                              cmd.Parameters.AddWithValue("Data", bytes);
                              con.Open();
                              cmd.ExecuteNonQuery();
                              con.Close();
                          }
                      }


              }
        }
        Response.Redirect(Request.Url.AbsoluteUri);
    }

3 个答案:

答案 0 :(得分:1)

您正在使用数据而不是 @Data

  

cmd.Parameters.AddWithValue(“数据”,字节)

所以这是发送

的正确方法
  

cmd.Parameters.AddWithValue(“@ Data”,bytes);

答案 1 :(得分:1)

当您发送变量 数据 时,您正在使用 @Data 变量在表格中插入值仅

cmd.Parameters.AddWithValue("Data", bytes);  // error prompt code

cmd.Parameters.AddWithValue("@Data", bytes);  // correct Code

答案 2 :(得分:-1)

由于FileUpload1.PostedFile,很可能你的代码抛出NullReferenceException为null。

您可能在UpdatePanel中添加了FileUpload。如果是,那么您需要使用PostBackTrigger。