candijen Ответов: 1

Как отобразить текущий загруженный файл в сетке из базы данных, а не все ранее загруженные файлы? С#


Я хочу отобразить только тот файл, который пользователь в данный момент загрузил, а не все файлы из базы данных, в которую он загружен.

Это мой код сетки отображения.

private void BindGrid()
   {
       string constr = ConfigurationManager.ConnectionStrings["facultylogConnectionString"].ConnectionString;
       using (SqlConnection con = new SqlConnection(constr))
       {
           using (SqlCommand cmd = new SqlCommand())
           {
               cmd.CommandText = "select Id, Name from tblFiles where Subject_Name=@Subject_Name";
           {

               cmd.Parameters.AddWithValue("@Subject_Name", DropDownList1.SelectedItem.Value);
               cmd.Connection = con;
               con.Open();
               GridView1.DataSource = cmd.ExecuteReader();
               GridView1.DataBind();
               con.Close();
           }
       }
   }
   }


Есть ли способ, которым я могу получить только текущий загруженный файл?

Что я уже пробовал:

Это мой код загрузки, если это необходимо.

protected void Upload(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["facultylogConnectionString"].ConnectionString;
               using (SqlConnection con = new SqlConnection(constr))
               {
                   string query = "insert into tblFiles values (@Name, @ContentType, @Data, @Subject_Name)";
                   using (SqlCommand cmd = new SqlCommand(query))
                   {
                       cmd.Connection = con;
                       cmd.Parameters.AddWithValue("@Name", filename);
                       cmd.Parameters.AddWithValue("@ContentType", contentType);
                       cmd.Parameters.AddWithValue("@Data", bytes);
                       cmd.Parameters.AddWithValue("@Subject_Name",DropDownList1.SelectedValue);
                       con.Open();
                       cmd.ExecuteNonQuery();
                       con.Close();
                   }
               }
           }

       }

       {

           BindGrid();
       }


   }

1 Ответов

Рейтинг:
5

Dave Kreskowiak

Ваша база данных должна быть изменена, чтобы поддержать это. Вам придется добавить в таблицу несколько столбцов. Один-для того, кто загрузил файл, а другой-для даты и времени загрузки файла.

Затем вы можете просто запросить таблицу для текущего пользователя, отсортировать по дате и времени загрузки и взять верхнюю 1 строку.