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

ASP.NET Discussion :

Saut de ligne en asp.net avec sql server 2000


Sujet :

ASP.NET

  1. #1
    Membre du Club Avatar de Pedro Varela
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 84
    Points : 62
    Points
    62
    Par défaut Saut de ligne en asp.net avec sql server 2000
    Bonjour,

    Je travaille avec VS2005 et sql server 2000. J'utilise framework 2.0.

    Dans mon formulaire j'ai une zone texte multiline et un button pour mettre les données de cette zone texte dans un champs de ma table dans ma base de données. Bon jusque là merveille.

    Le pb c'est que lorsque je fait un select de ma table, je n'ai pas de saut de lignes. J'ai tout le résultat sur une seule ligne.

    commet puis-je faire pour avoir le saut de ligne comme lorsque que j'écrits sur plusieurs lignes?

    Merci par avance

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 166
    Points : 144
    Points
    144
    Par défaut
    tu fait avec quoi ton select ?
    Un DataReader ?

  3. #3
    Membre du Club Avatar de Pedro Varela
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 84
    Points : 62
    Points
    62
    Par défaut
    Effectivement, avec DataReader. Et j'utilise Response.Write() pour les afficher sur la page.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 166
    Points : 144
    Points
    144
    Par défaut
    pour restituer ton datareader dans ton textbox multiline essaye quelque chose du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    IDataReader rd; // Ton reader qui contient ton select
    int nbline = 0;
    while (rd.Read())
    {
      // TextBox1 est ta zonze de texte multiline
     
      TextBox1.Text += rd.GetString(0);
      TextBox1.Text += "\r\n";
      nbline++;
    }
    TextBox1.Rows = nbline;
    J'ai pas essayer mais ca me semble pouvoir fonctionner

  5. #5
    Membre du Club Avatar de Pedro Varela
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 84
    Points : 62
    Points
    62
    Par défaut
    Salut,

    Lorsque j'écrits dans ma zone de texte miltiline ceci, par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Bonjour le-roy_a,
     
    Je suis content que tu me répondes.
    C'est très gentil de ta part.
     
    Merci bcp.
    Bon, après je garde tout ça dans ma base de données. Après je faits un select pour afficher le résultat sur une page web avec la methode Response.Write(), j'obtiens ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Bonjour le-roy_a, Je suis content que tu me répondes. C'est très gentil de ta part. Merci bcp.
    tu vois, tout sur une seul ligne. Je ne veux pas comme ça.

    Imagine, c'est comme dans un forum. J'écrits dans un TextBox multiline avec des sauts de ligne, et lorsque j'envoie le message j'ai le résultat sur plusieurs lignes comme c'était dans mon TextBox multiline.

    Tu vois mnt plus ou moins ce que je veux, et que je n'arrive pas pour l'instant.

  6. #6
    Membre régulier Avatar de DonkeyMaster
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 95
    Points : 110
    Points
    110
    Par défaut
    Tu utilises Response.Write() ? Il faut remplacer dans ta chaîne les retours à la ligne par des <br/>

    Explication:

    Response.Write() écrit le texte directement dans la page. Si tu regardes la source de la page, depuis ton navigateur, je suis sûr que le texte aura les retours à la ligne, comme tu t'y attendais. C'est du code html, et dans le code html on ignore les retours à la ligne.

    Pour arriver au résultat que tu cherches, tu peux soit remplacer tous les retours à la ligne par des balises <br/>, soit utiliser la balise <pre>, qui garde la mise en forme (espaces, tabulations, retours à la ligne, etc...).

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    IDataReader rd;
    StringBuilder str = new StringBuilder();
    while (rd.Read()) {
      str.Append(rd.GetString(0));
    }
     
    string htmlbr = str.ToString().Replace( Environment.NewLine, "<br/>");
    Response.Write(htmlbr);
     
    string html2 = "<pre>" + str.ToString() + "</pre>";
    Response.Write(htmlpre);

  7. #7
    Membre du Club Avatar de Pedro Varela
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 84
    Points : 62
    Points
    62
    Par défaut
    Salut,

    Ce n'est pas parce que j'y tiens bcp, non. C'est tout simplement que j'ai pas trouvé de mieux.

    Alors, si tu connais de meilleurs, partage avec moi. J'en serais reconnaissant.

    Voici le bout de mon code en C#:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ...
     
    while (myDataReader.Read())
    {
         Response.Write(myDataReader.GetString(0) + "<br />");
    }
    ...
    Tu vois, á chaque fois que je lis une ligne de mon DataReader je l'affiche. Et c'est justement là que j'ai pas retour á la ligne ni sauts ...
    Ton code ne marche pas dans ce cas là.

    Merci quand même.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2006
    Messages : 47
    Points : 60
    Points
    60
    Par défaut
    Tu peux setter la propriété wrap de ta textbox à true:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    txtBox.Wrap = true;
    Les "enter" ne correspondront pas à ceux stocké dans ton sql, mais au moins t'auras pas une seule ligne!

Discussions similaires

  1. Projet ASP.Net - Authentification SQL Server
    Par 3KyNoX dans le forum ASP.NET
    Réponses: 4
    Dernier message: 20/10/2008, 15h48
  2. ASP.NET et SQL SERVER 2005
    Par heni86_2003 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 15/06/2008, 16h26
  3. Quel est le login pour 1 Application Web ASP.NET avec SQL Server?
    Par david4444 dans le forum Accès aux données
    Réponses: 2
    Dernier message: 13/06/2008, 10h41
  4. composant login asp.net sans SQL server ?
    Par RiiiDD dans le forum ASP.NET
    Réponses: 1
    Dernier message: 02/10/2007, 01h38
  5. Problème connexion asp.net avec sql server 2000
    Par andres007 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 29/06/2007, 14h30

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