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 MVC Discussion :

Comment Afficher le résultat d'une requête sql server avec Contrôller Mvc2 sous Visual Studio 2010 SP1? [Débutant]


Sujet :

ASP.NET MVC

  1. #1
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 407
    Points : 4 847
    Points
    4 847
    Par défaut Comment Afficher le résultat d'une requête sql server avec Contrôller Mvc2 sous Visual Studio 2010 SP1?
    bonsoir,
    je viens de débuter en C# Modèl view controller (Mvc2) sous Visual Studio 2010 SP1, et je voudrais savoir comment faire pour récupérer le résultat d'une requête Sql-Server(2008 R2) sous forme Array()?

    voilà mon controller
    Code c# : 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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    using System.Web.Routing;
    using System.Web.Security;
    using MvcApplication3.Models;
    using System.Dynamic;
     
    namespace MvcApplication3.Controllers
    {
        public class CategorieController : Controller
        {
            static List<CategorieModels> Categorie = new List<CategorieModels>();
            CategorieModels cat = new CategorieModels();
            //
            // GET: /Categorie/
            public ActionResult ListerCategorie()
            {
                int nbr=cat.Charger_donner().Length;
                for (int i = 0; i < nbr; i++)
                {
     
                }
                    ViewData["Nbr"] = nbr;
                return View(Categorie.ToArray());
            }
            [HttpPost]
            public ActionResult ListerCategorie(CategorieModels cat)
            {
                if (ModelState.IsValid)
                {
                    cat.Charger_donner();
                    return RedirectToAction("Teste", "Categorie");
                }
                return View(cat); 
            }
            //**********//
     
     
            public ActionResult Index()
            {
                return View();
            }
     
            //
            // GET: /Categorie/Details/5
     
            public ActionResult Details(int id)
            {
                return View();
            }
     
            //
            // GET: /Categorie/Create
     
            public ActionResult Create()
            {
                return View();
            } 
     
            //
            // POST: /Categorie/Create
     
            [HttpPost]
            public ActionResult Create(FormCollection collection)
            {
                try
                {
                    // TODO: Add insert logic here
     
                    return RedirectToAction("Index");
                }
                catch
                {
                    return View();
                }
            }
     
            //
            // GET: /Categorie/Edit/5
     
            public ActionResult Edit(int id)
            {
                return View();
            }
     
            //
            // POST: /Categorie/Edit/5
     
            [HttpPost]
            public ActionResult Edit(int id, FormCollection collection)
            {
                try
                {
                    // TODO: Add update logic here
     
                    return RedirectToAction("Index");
                }
                catch
                {
                    return View();
                }
            }
     
            //
            // GET: /Categorie/Delete/5
     
            public ActionResult Delete(int id)
            {
                return View();
            }
     
            //
            // POST: /Categorie/Delete/5
     
            [HttpPost]
            public ActionResult Delete(int id, FormCollection collection)
            {
                try
                {
                    // TODO: Add delete logic here
     
                    return RedirectToAction("Index");
                }
                catch
                {
                    return View();
                }
            }
        }
    }

    puis le modèl :

    Code c# : 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
    53
    54
    55
    56
    57
    58
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    using System.ComponentModel.DataAnnotations;
    using System.Data;
    using System.Data.SqlClient;
     
    namespace MvcApplication3.Models
    {
        public class CategorieModels
        {
            public CategorieModels Categorie {get;set;}
            [Required(ErrorMessage = "Id est obligatoire")]
            public string Id_cat { get; set; }
            [Required(ErrorMessage = "Titre est obligatoire")]
            public string Titre { get; set; }
            public string Date { get; set; }
            [Required(ErrorMessage = "Image est obligatoire")]
            public string Image { get; set; }
            public string Id_admin { get; set; }
            [Required(ErrorMessage = "Devise est obligatoire")]
            public string devis { get; set; }
            public string active_cat { get; set; }
            public string envoivMar { get; set; }
            public string group_repr { get; set; }
            public string id_adminp { get; set; }
            public string order_cat { get; set; }
            //
            public CategorieModels()
                {
                    //Charger_donner();
                }
            public string Teste()
                {
                    return "Bonjour";
                }
            public Array Charger_donner()
            {
                Connexion conn = new Connexion();
                DataTable dt = new DataTable();
                conn.OuvrirConnexion();
                System.Collections.ArrayList ListeCategorie = new System.Collections.ArrayList();
                SqlDataAdapter adapter = new SqlDataAdapter("select * from categorie order by Id_Cat desc  ", conn.retour());
                adapter.Fill(dt);
                foreach (DataRow dtrow in dt.Rows)
                {
                    CategorieModels Categorie = new CategorieModels();
                    Categorie.Id_cat = dtrow["Id_Cat"].ToString();
                    ListeCategorie.Add(Categorie);
                }
                conn.FermerConnexion();
                return ListeCategorie.ToArray();
            }//fin chrger donner
        }//fin classe
    }

    View Associé :
    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
     
    <%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<MvcApplication3.Models.CategorieModels>>" %>
     
    <asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    	ListerCategorie
    </asp:Content>
     
    <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
     
        <h2>Liste Categorie</h2>
        <h1><%= Html.Encode(ViewData["Nbr"])%></h1>
     
        <table>
            <tr>
                <th></th>
                <th>
                    Id_cat
                </th>
                <th>
                    Titre
                </th>
                <th>
                    Date
                </th>
                <th>
                    Image
                </th>
                <th>
                    Id_admin
                </th>
                <th>
                    devis
                </th>
                <th>
                    active_cat
                </th>
                <th>
                    envoivMar
                </th>
                <th>
                    group_repr
                </th>
                <th>
                    id_adminp
                </th>
                <th>
                    order_cat
                </th>
            </tr>
     
        <% foreach (var item in Model)
           { %>
     
            <tr>
                <td>
                    <%: Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ }) %> |
                    <%: Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ })%> |
                    <%: Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ })%>
                </td>
                <td>
                    <%= Html.Encode(item.Id_cat) %>
                </td>
                <td>
                    <%:item.Titre %>
                </td>
                <td>
                    <%: item.Date %>
                </td>
                <td>
                    <%: item.Image %>
                </td>
                <td>
                    <%: item.Id_admin %>
                </td>
                <td>
                    <%: item.devis %>
                </td>
                <td>
                    <%: item.active_cat %>
                </td>
                <td>
                    <%: item.envoivMar %>
                </td>
                <td>
                    <%: item.group_repr %>
                </td>
                <td>
                    <%: item.id_adminp %>
                </td>
                <td>
                    <%: item.order_cat %>
                </td>
            </tr>
     
        <% } %>
     
        </table>
     
        <p>
            <%: Html.ActionLink("Create New", "Create") %>
        </p>
     
    </asp:Content>
    j'ai affecté la valeur de nombre de lignes retournées par la fonction Charger_donner(), dans la variable ViewData["Nbr"] = nbr; et je l'ai affichée dans la view <%= Html.Encode(ViewData["Nbr"])%>), juste pour savoir si la liste est bien remplit ou non. ça m'affiche 303 et c'est exactement le nombre de lignes de ma table Categorie dans la Bdd, donc la liste est Bien Remplit et la fonction Charger_donner() fonctionne.

    maintenant je me demande ce que je dois mettre comme code dans la boucle For de ActionResult ListerCategorie() pour remplire la View et l'afficher???
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public ActionResult ListerCategorie()
            {
                int nbr=cat.Charger_donner().Length;
                for (int i = 0; i < nbr; i++)
                {
                   // je me plante ici
                }
                    ViewData["Nbr"] = nbr;
                return View(Categorie.ToArray());
            }

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 407
    Points : 4 847
    Points
    4 847
    Par défaut
    en attendant une réponse a ma question,j'ai développé mon code comme suite
    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
     
    static List<CategorieModels> Categorie = new List<CategorieModels>();
            CategorieModels cat = new CategorieModels();
            //
            // GET: /Categorie/
            public ActionResult ListerCategorie()
            {
                var InitialData = new[] { 
                                            new CategorieModels{Id_cat= "17"},
                                            new CategorieModels{Id_cat= "18"},
                                            new CategorieModels{Id_cat= "19"},
                                            new CategorieModels{Id_cat= "20"} 
                                        };
     
                int nbr=cat.Charger_donner().Length;
                Categorie=InitialData.ToList();
                return View(Categorie);
            }
    j'ai remplis manuellement quelques attributs Id_cat de la classe CategorieModels puis je les ai stockés dans la <List>View Categorie, je voudrais remplire cette liste depuis la fonction Array Charger_donner(), est-ce que c'est faisable?

  3. #3
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 407
    Points : 4 847
    Points
    4 847
    Par défaut
    Finalement j'ai résolu le problème en utilisant le JsonResult avec MVC 4.
    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 20/05/2015, 10h19
  2. Réponses: 2
    Dernier message: 07/02/2012, 09h17
  3. Réponses: 13
    Dernier message: 26/07/2007, 08h50
  4. Comment lire le résultat d'une requête SQL?
    Par cmako dans le forum JDBC
    Réponses: 2
    Dernier message: 22/05/2007, 17h36
  5. Réponses: 11
    Dernier message: 20/06/2006, 11h10

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