IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

VB NET + SaveDialogFile + Mysql


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    323
    Détails du profil
    Informations personnelles :
    Localisation : Espagne

    Informations forums :
    Inscription : Juillet 2003
    Messages : 323
    Points : 112
    Points
    112
    Par défaut VB NET + SaveDialogFile + Mysql
    Salut,

    J'essai tant bien que mal de sauvegarder un document depuis une base, mais mon code est foireux.
    Un p'tit coup de pouce SVP.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
            Try
                MysqlConn = New MySqlConnection
                MysqlConn.ConnectionString =
                "server=localhost;userid=root;password=root;database=root"
                ' recuperamos el documento de la base de datos y lo pasamos a un fichero
                Dim drDocumentos As MySqlDataReader
                Dim aBytDocumento() As Byte = Nothing
                'Dim oFileStream As FileStream
                'Dim loFila As DataGridViewRow = Me.dgrDatos.CurrentRow()
                Dim lsQuery As String = "Select documento From Formaciones Where id='" & TextBox9.Text & "'"
                Using loComando As New MySqlCommand(lsQuery, MysqlConn)
                    MysqlConn.Open()
                    drDocumentos = loComando.ExecuteReader(CommandBehavior.SingleRow)
                End Using
     
     
                Dim saveFileDialog1 As New SaveFileDialog
                saveFileDialog1.InitialDirectory = "C:\"
                saveFileDialog1.Title = "Save PDF Files"
                saveFileDialog1.CheckFileExists = True
                saveFileDialog1.CheckPathExists = True
                saveFileDialog1.DefaultExt = "pdf"
                saveFileDialog1.Filter = "Text files (*.pdf)|*.pdf"
                saveFileDialog1.FilterIndex = 2
                saveFileDialog1.RestoreDirectory = True
     
                If drDocumentos.Read() Then
                    aBytDocumento = CType(drDocumentos("documento"), Byte())
                End If
     
     
     
                'drDocumentos.Close()
                'oFileStream = New FileStream("C:\TUCARPETA\TUFICHERO.PDF", FileMode.CreateNew, FileAccess.Write)
                'oFileStream.Write(aBytDocumento, 0, aBytDocumento.Length)
                'oFileStream.Close()
     
     
                MessageBox.Show("Documento generado con éxito", "Generar Documentos", MessageBoxButtons.OK, MessageBoxIcon.Information)
                'End If
            Catch Exp As Exception
                MessageBox.Show(Exp.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Information)
            End Try
        End Sub

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Désolé. mais je ne connais pas MySQL.

    À première vue, je séparerais ton problème en quelques questions pour aider les volontaires à mieux répondre.

    Est-ce que tes données se rendent dans ton DGV ?

    Si oui, sont-elles exactes ?

    Obtiens-tu actuellement une "impression" quelconque ?

    Parce que, pour autant que je sache, choisir l'extension pdf ne garanti absolument pas que le résultat sera un fichier pdf. Toujours à ce que je sache, le framework .net n'a aucune classe, ni méthode interne pour imprimer directement en pdf. Pour faire cela, cela prend des composants externes, ou passer par Excel ou Word (à partir d'un Office 2007, avec les ServicePacks installés).

    Le format PDF, n'est pas à proprement parler un format texte tel que l'interprète le framework. En supposant que ce soit possible d'y parvenir comme tu essaies; tu dois ajouter dans ton flux, tous les caractères de contrôle requis par le format pdf et surtout à la bonne place.

    Mais, il n'existe pas à quelque part, un générateur de rapport compatible avec MySQL et éventuellement capable de les imprimer en PDF ? Il y a bien PDFReport, mais je ne sais pas trop comment il se débrouille avec MySQL. Mais, il est lui-même basé sur du logiciel libre, et MySQL est supposé être un logiciel libre. En principe, tu devrais pouvoir espérer que les grands esprits se rencontrent.

    En bas de la page, il y a des liens vers un exemple et du code. Au pire, les exemples en C# peuvent être convertis en VB sur plusieurs sites. Il y a aussi cette première extension,et cette seconde extension pour VS.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    323
    Détails du profil
    Informations personnelles :
    Localisation : Espagne

    Informations forums :
    Inscription : Juillet 2003
    Messages : 323
    Points : 112
    Points
    112
    Par défaut
    MErci de ta reponse,

    C'est que le code original qui est celui ci dessous me permet de garder le fichier sous dans un repertoire spcifique. Dans mon cas "C:\TUCARPETA\TUFICHERO.PDF".
    Ceci marche correctement et genere bien le PDF de ma table.
    Par contre je prefere que les gens puissent choisir ou le garder ce fichier. C'est pour cela que j'essai d'integrer le savedialogfile.
    Donc en fait si quelqu'un peut me dire ce qui est mal. Je vais continuer voir si je trouve cela en c et voir tes liens pour faire ci necessaire des modifs.
    Je reviens dire si le probleme est resolu.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
        Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
            Try
                MysqlConn = New MySqlConnection
                MysqlConn.ConnectionString =
                "server=localhost;userid=root;password=root;database=root"
                ' recuperamos el documento de la base de datos y lo pasamos a un fichero
                Dim drDocumentos As MySqlDataReader
                Dim aBytDocumento() As Byte = Nothing
                Dim oFileStream As FileStream
                'Dim loFila As DataGridViewRow = Me.dgrDatos.CurrentRow()
                Dim lsQuery As String = "Select documento From Formaciones Where id='" & TextBox9.Text & "'"
                Using loComando As New MySqlCommand(lsQuery, MysqlConn)
                    MysqlConn.Open()
                    drDocumentos = loComando.ExecuteReader(CommandBehavior.SingleRow)
                End Using
                If drDocumentos.Read() Then
                    aBytDocumento = CType(drDocumentos("documento"), Byte())
                End If
                drDocumentos.Close()
                oFileStream = New FileStream("C:\TUCARPETA\TUFICHERO.PDF", FileMode.CreateNew, FileAccess.Write)
                oFileStream.Write(aBytDocumento, 0, aBytDocumento.Length)
                oFileStream.Close()
                MessageBox.Show("Documento generado con éxito", "Generar Documentos", MessageBoxButtons.OK, MessageBoxIcon.Information)
                'End If
            Catch Exp As Exception
                MessageBox.Show(Exp.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Information)
            End Try
        End Sub

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    323
    Détails du profil
    Informations personnelles :
    Localisation : Espagne

    Informations forums :
    Inscription : Juillet 2003
    Messages : 323
    Points : 112
    Points
    112
    Par défaut
    J'ai rien trouver.................

Discussions similaires

  1. [VB.NET]vb.net et mysql
    Par lolla21 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 06/05/2006, 11h40
  2. Microsoft Visual Studion .NET et MySQL
    Par cyraile dans le forum MFC
    Réponses: 11
    Dernier message: 19/04/2006, 17h46
  3. [ADO.Net][C#/Mysql] Comment exécuter une requête paramétrée?
    Par wremacle dans le forum Accès aux données
    Réponses: 6
    Dernier message: 07/02/2006, 16h55
  4. Visual .NET et MYSQL
    Par voltx4 dans le forum MFC
    Réponses: 4
    Dernier message: 17/12/2004, 22h58
  5. [C#] [MySQLDriverCS] et [ByteFX] drivers .Net pour MySql
    Par |DUCATI| DesMo dans le forum Windows Forms
    Réponses: 61
    Dernier message: 26/11/2004, 00h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo