elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  VB.NET 2010 Download de archivos binarios en DataGridView desde MySQL
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: VB.NET 2010 Download de archivos binarios en DataGridView desde MySQL  (Leído 1,796 veces)
el_cantante

Desconectado Desconectado

Mensajes: 80



Ver Perfil
VB.NET 2010 Download de archivos binarios en DataGridView desde MySQL
« 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:

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

Por favor alguien me podría ayudar o darme alguna sugerencia?

Gracias

Saludos!



En línea

El sistema del zapping mental en su apogeo, donde las horas pasan con la velocidad de la vida. No es el mismo domingo del principio, es un domingo anterior, otra temporada en el infierno, siete di­as atras.
el_cantante

Desconectado Desconectado

Mensajes: 80



Ver Perfil
Re: VB.NET 2010 Download de archivos binarios en DataGridView desde MySQL
« Respuesta #1 en: 23 Agosto 2015, 22:39 pm »

Aquí la solución por si a alguien mas puede ser de ayuda:

Código:

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!  ;-)


En línea

El sistema del zapping mental en su apogeo, donde las horas pasan con la velocidad de la vida. No es el mismo domingo del principio, es un domingo anterior, otra temporada en el infierno, siete di­as atras.
n3n3

Desconectado Desconectado

Mensajes: 27


¡Soy n3n3 y tu no!


Ver Perfil WWW
Re: VB.NET 2010 Download de archivos binarios en DataGridView desde MySQL
« Respuesta #2 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
En línea

“Todo lo que somos es el resultado de lo que hemos pensado; está fundado en nuestros pensamientos y está hecho de nuestros pensamientos.”
el_cantante

Desconectado Desconectado

Mensajes: 80



Ver Perfil
Re: VB.NET 2010 Download de archivos binarios en DataGridView desde MySQL
« Respuesta #3 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

Saludos!
En línea

El sistema del zapping mental en su apogeo, donde las horas pasan con la velocidad de la vida. No es el mismo domingo del principio, es un domingo anterior, otra temporada en el infierno, siete di­as atras.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines