Título: VB.NET 2010 Download de archivos binarios en DataGridView desde MySQL
Publicado por: el_cantante en 23 Agosto 2015, 14:15 pm
Hola! 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: 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
Por favor alguien me podría ayudar o darme alguna sugerencia? Gracias Saludos!
Título: Re: VB.NET 2010 Download de archivos binarios en DataGridView desde MySQL
Publicado por: el_cantante en 23 Agosto 2015, 22:39 pm
Aquí la solución por si a alguien mas puede ser de ayuda: Private Sub Button18_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button18.Click
Dim conn As New MySqlConnection Dim cmd As New MySqlCommand Dim myData As MySqlDataReader Dim SQL As String Dim rawData() As Byte Dim FileSize As UInt32 Dim fs As FileStream
conn.ConnectionString = "Server=8.8.8.8;User Id=xxx;Password=xxxx;Database=sicurezza"
SQL = "select allegato, file_size, nome_file from dipendenti_allegati where nome_file=" _ & """Licenze Kaspersky 2014.pdf"""
Try conn.Open()
cmd.Connection = conn cmd.CommandText = SQL
myData = cmd.ExecuteReader
If Not myData.HasRows Then Throw New Exception("There are no BLOBs to save")
myData.Read()
FileSize = myData.GetUInt32(myData.GetOrdinal("file_size")) rawData = New Byte(FileSize) {}
myData.GetBytes(myData.GetOrdinal("allegato"), 0, rawData, 0, FileSize)
fs = New FileStream("C:\Users\yo\Desktop\" & myData.GetString(myData.GetOrdinal("nome_file")), FileMode.OpenOrCreate, FileAccess.Write) fs.Write(rawData, 0, FileSize) fs.Close()
MessageBox.Show("Archivo guardado!", "OK!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
myData.Close() conn.Close() Catch ex As Exception MessageBox.Show("Error: " & ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try
End Sub
Saludos! ;-)
Título: Re: VB.NET 2010 Download de archivos binarios en DataGridView desde MySQL
Publicado por: n3n3 en 11 Septiembre 2015, 19:58 pm
Hola espero me puedas ayudar, lo que yo intento hacer es algo parecido pero que me muestre en un treeview carpetas y subcarpetas de mi pc en una ruta especifica y que me despliege los archivos PDF al dar doble click me lo descarge o me de la opcion de guardarlo me seria de mucha ayuda un ejemplo o si me puedes contactar por facebook.
Gracias
Título: Re: VB.NET 2010 Download de archivos binarios en DataGridView desde MySQL
Publicado por: el_cantante en 18 Septiembre 2015, 15:23 pm
Hola, Fijate en este ejemplo, creo que podría ayudarte en lo que intentas hacer.
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=8238&lngWId=10 (http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=8238&lngWId=10)
Saludos!
|