Исключение NullReferenceException не было обработано кодом пользователя в C#

Когда мы создаем соединение, используя строку подключения 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 ответа

Вы используете данные вместо @Data в

cmd.Parameters.AddWithValue("Данные", байты)

так что это правильный способ отправки

cmd.Parameters.AddWithValue("@Data", байты);

Вы вставляете значение в таблицу, используя переменную @Data, а отправляете только переменную Data.

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

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

Скорее всего, ваш код, выбрасывающий исключение NullReferenceException из-за FileUpload1.PostedFile, равен нулю.

Возможно, вы добавили FileUpload внутри UpdatePanel. Если да, то вам нужно использовать PostBackTrigger.

Другие вопросы по тегам