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

C# Discussion :

export sql vers c#: System.byte[]


Sujet :

C#

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 93
    Par défaut export sql vers c#: System.byte[]
    Bonjour,

    J'ai un petit soucis avec c#.NET. En effet, le code suivant dois me créer une fiche excel contenant des recettes, des produits qui la compose et du tarif total. Voici le code:

    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
    46
    47
    48
    49
    50
    51
    52
            private void toolStripButton5_Click(object sender, EventArgs e)
            {
     
                dataBase mydatabase = new dataBase("localhost", "theproject", "root");
     
                int dateDayMySQL = DateTime.Now.Day;
                string sDay = dateDayMySQL.ToString();
                int dateMonthMySQL = DateTime.Now.Month;
                string sMonth = dateMonthMySQL.ToString();
                int dateYearMySQL = DateTime.Now.Year;
     
                string sYear = dateYearMySQL.ToString();
     
                bool connectionDeleteStatus = mydatabase.SelectRecette("SELECT xdb_recette.name," +
                " GROUP_CONCAT(xdb_element.name SEPARATOR ', '), ROUND(SUM(qt*xdb_element.price) / sum(qt)*2,1)/2" +
                " FROM xdb_recetteComposant" +
                " LEFT JOIN xdb_element ON xdb_element.id = xdb_recetteComposant.element" +
                " LEFT JOIN xdb_recette ON xdb_recette.id = xdb_recetteComposant.recette" +
                " GROUP BY recette");
     
                Workbook wb = new Workbook();
                Worksheet ws = wb.Worksheets.Add("Recette");
                WorksheetStyle wsBold = wb.Styles.Add("10");
     
                wsBold.Font.Bold = true;
     
                ws.Table.Columns.Add(new WorksheetColumn(200));
                ws.Table.Columns.Add(new WorksheetColumn(150));
                ws.Table.Columns.Add(new WorksheetColumn(150));
     
                WorksheetRow wr = new WorksheetRow();
                WorksheetCell wcRecette = new WorksheetCell("Recette", DataType.String, "10");
                WorksheetCell wcProduits = new WorksheetCell("Produits", DataType.String, "10");
                WorksheetCell wcPrix = new WorksheetCell("Prix", DataType.String, "10");
     
                wr.Cells.Add(wcRecette);
                wr.Cells.Add(wcProduits);
                wr.Cells.Add(wcPrix);
                ws.Table.Rows.Add(wr);
     
                foreach (DataRow row in mydatabase.myDataTable.Rows)
                {
                    wr = new WorksheetRow();
                    // ajout d’une cellule à une ligne
                    wr.Cells.Add(row[0].ToString());
                    wr.Cells.Add(row[1].ToString());
                    wr.Cells.Add(row[2].ToString());
                    ws.Table.Rows.Add(wr);
                }
     
                wb.Save(@"c:\test.xls");
            }
    La requête SQL fonctionne très bien, mais voilà le resultat excel:

    Recette Produits Prix
    Ma recette System.Byte[] 45.3
    Recette de pomme de terre frite System.Byte[] 11.95


    Pourquoi je n'ai pas les composants mais system.byte[]?

    Meilleures salutations !


    Edit:

    bool connectionDeleteStatus = mydatabase.SelectRecette("SELECT xdb_recette.name," +

    " GROUP_CONCAT(xdb_element.name SEPARATOR ', '), ROUND(SUM(qt*xdb_element.price) / sum(qt)*2,1)/2" +

    " FROM xdb_recetteComposant" +

    " LEFT JOIN xdb_element ON xdb_element.id = xdb_recetteComposant.element" +

    " LEFT JOIN xdb_recette ON xdb_recette.id = xdb_recetteComposant.recette" +

    " GROUP BY recette");

  2. #2
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Ben remplace cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wr.Cells.Add(row[1].ToString());
    Quand tu fais ToString() sur un tableau de Byte, tu obtiens effectivement System.Byte[].
    A toi de convertir ton tableau de bytes en quelquechose d'exploitable. Ou alors convertis le GROUP_CONCAT en un autre type de données.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 93
    Par défaut
    Bonjour,

    Merci pour cette réponse.

    En quel autre type de donnée je devrais le convertir?

    EDIT: Faut cast(requete) AS CHAR)

Discussions similaires

  1. [MySQL] Export sql vers excel
    Par stefanelle dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 03/12/2008, 12h06
  2. Export SQL vers fichier EXcel
    Par The Bro dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/10/2008, 19h09
  3. [Excel] Export sql vers excel : worksheet = set column
    Par fthem dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 05/06/2008, 09h38
  4. [MySQL] Exportation SQL vers Excel
    Par Foudébois dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 28/08/2006, 15h56

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