Tengo un DataGridView en el que elenco una serie de archivos binarios (PDF), que se encuentran guardados en una tabla de un database MySQL.
Las columnas de la tabla son las siguientes (El archivo binario se encuentra en la columna allegato):
matricola int(11)
matricola_old int(11)
nome_file text
file_size decimal(20,0)
allegato longblob
extension text
data text
Mi problema es que no se como hacer para descargar estos archivos, intente hacer que una de las columnas tenga la propiedad DataGridViewLinkColumn, o bien agregar otra columna con un button pero la verdad es que me estoy perdiendo...
Este es el codigo que uso, donde carga los archivos binarios:
Código:
Dim Query As New MySqlCommand
Dim Conexion As MySqlConnection
Dim Consultar As MySqlDataReader
Dim Sql As String = "Server=172.XX.XX.XX;User Id=XXX;Password=XXX;Database=sicurezza"
Dim query_Adapter2 As String
If ComboBox7.Text = "matricola_old" Then
query_Adapter2 = "SELECT dipendenti_allegati.nome_file, dipendenti_allegati.data, dipendenti_allegati.allegato As Allegato FROM dipendenti_allegati INNER JOIN dipendenti ON dipendenti_allegati.matricola = dipendenti.matricola WHERE dipendenti." & ComboBox7.Text & " = " & TextBox17.Text & ""
Else
query_Adapter2 = "SELECT dipendenti_allegati.nome_file, dipendenti_allegati.data, dipendenti_allegati.allegato As Allegato FROM dipendenti_allegati INNER JOIN dipendenti ON dipendenti_allegati.matricola = dipendenti.matricola WHERE dipendenti." & ComboBox7.Text & " LIKE '%" & TextBox17.Text & "%'"
End If
Conexion = New MySqlConnection()
Conexion.ConnectionString = Sql
Conexion.Open()
Query.CommandText = query_Adapter2
Query.Connection = Conexion
Consultar = Query.ExecuteReader
While Consultar.Read
Dim File As String = Consultar(0).ToString
Dim Data As String = Consultar(1).ToString
Dim texto As String = Consultar(2).ToString
Dim Allegato As String = Consultar(3).ToString
DataGridView4.Rows.Add(File, texto, Data, Allegato)
DataGridView4.Refresh()
End While
Dim Conexion As MySqlConnection
Dim Consultar As MySqlDataReader
Dim Sql As String = "Server=172.XX.XX.XX;User Id=XXX;Password=XXX;Database=sicurezza"
Dim query_Adapter2 As String
If ComboBox7.Text = "matricola_old" Then
query_Adapter2 = "SELECT dipendenti_allegati.nome_file, dipendenti_allegati.data, dipendenti_allegati.allegato As Allegato FROM dipendenti_allegati INNER JOIN dipendenti ON dipendenti_allegati.matricola = dipendenti.matricola WHERE dipendenti." & ComboBox7.Text & " = " & TextBox17.Text & ""
Else
query_Adapter2 = "SELECT dipendenti_allegati.nome_file, dipendenti_allegati.data, dipendenti_allegati.allegato As Allegato FROM dipendenti_allegati INNER JOIN dipendenti ON dipendenti_allegati.matricola = dipendenti.matricola WHERE dipendenti." & ComboBox7.Text & " LIKE '%" & TextBox17.Text & "%'"
End If
Conexion = New MySqlConnection()
Conexion.ConnectionString = Sql
Conexion.Open()
Query.CommandText = query_Adapter2
Query.Connection = Conexion
Consultar = Query.ExecuteReader
While Consultar.Read
Dim File As String = Consultar(0).ToString
Dim Data As String = Consultar(1).ToString
Dim texto As String = Consultar(2).ToString
Dim Allegato As String = Consultar(3).ToString
DataGridView4.Rows.Add(File, texto, Data, Allegato)
DataGridView4.Refresh()
End While
Por favor alguien me podría ayudar o darme alguna sugerencia?
Gracias
Saludos!