Отображение и просмотр PDF-файлов в Adobe Reader tool

#vb.net

#vb.net

Вопрос:

Я использую код для просмотра PDF-файлов в Adobe Reader tool, затем сохраняю их в базе данных sql Server, мне нужен способ отображения этих сохраненных файлов при двойном щелчке по имени файла в datagridview Я использую этот код для отображения PDF-файлов:

 Private Sub btnNewItem_Click(sender As Object, e As EventArgs) Handles btnNewItem.Click

        txtItemNO.Text = GetmaxID()

        btnSaveItem.Enabled = True

        ofd.Filter = "pdf Files|*.pdf"
        If ofd.ShowDialog = Windows.Forms.DialogResult.OK Then
            txtpdfPath.Text = ofd.FileName
            AxAcroPDF1.src = txtpdfPath.Text
        End If

    End Sub

  

и этот код для сохранения их в базе данных:

  Private Sub btnSaveItem_Click(sender As Object, e As EventArgs) Handles btnSaveItem.Click

        Try
            cmd = New SqlCommand("insert into TBL_Attaches (AttachID, AttachName, AttachDate, Picture, CatID) values (@AttachID, @AttachName, @AttachDate, @Picture, @CatID)", con)

            con.Open()
            With cmd.Parameters
                .AddWithValue("@AttachID", txtItemNO.Text)
                .AddWithValue("@AttachName", txtItemName.Text)
                .AddWithValue("@AttachDate", dtDateSave.Value)

                Dim fs As New FileStream(ofd.FileName, FileMode.Open, FileAccess.Read)
                Dim br As New BinaryReader(fs)
                Dim Filepdf() As Byte = br.ReadBytes(br.BaseStream.Length)
                .AddWithValue("@Picture", Filepdf)

                .AddWithValue("@CatID", cmbItemCat.SelectedValue)
            End With
            cmd.ExecuteNonQuery()
            MsgBox("Done!", MsgBoxStyle.Information, "Save")

            dgsittings()

        Catch ex As Exception
            MsgBox(ex.Message)
        Finally
            con.Close()
        End Try
    End Sub
  

и это код, который я использовал для отображения имен файлов в datagridview:

         adapter = New SqlDataAdapter("select TBL_Attaches.AttachID, TBL_Attaches.AttachName, TBL_Attaches.AttachDate, TBL_CatFailes.CatName from TBL_Attaches inner join TBL_CatFailes on TBL_Attaches.CatID = TBL_CatFailes.CatID", con)
        Dim dtG As New DataTable
        adapter.Fill(dtG)
        dgAttached.DataSource = dtG

  

Я просто хочу отобразить PDF-файл при двойном щелчке по его имени в datagridview

Комментарии:

1. В чем именно ваша проблема? Извлечение двоичного значения из базы данных или отображение pdf? Как насчет того, чтобы показать нам, что вы пытались сделать в этом пространстве?

2. Я просто хочу отобразить файл pdf

3. Это сложнее, чем сохранить поток во временный файл, а затем использовать process.start(), чтобы открыть файл с помощью средства просмотра по умолчанию?

4. не могли бы вы рассказать мне, как это сделать? Я просто хочу, чтобы код отображал PDF-файл в Adobe Reader tool, когда я дважды щелкаю по его имени в datagridview

5. Какая часть? Извлечение изображения из базы данных, сохранение потока во временный файл или открытие временного файла с помощью программы просмотра по умолчанию? Три очень разные операции.