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 :

Vue SQL, comment l'utiliser ? [Débutant]


Sujet :

ASP.NET MVC

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur Informatique en Alternance
    Inscrit en
    Mai 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Informatique en Alternance
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2012
    Messages : 43
    Points : 38
    Points
    38
    Par défaut Vue SQL, comment l'utiliser ?
    Salut à tous

    Pour le developpement de mon appli', j'ai besoin d'effectuer des select sur des vues crées avec SQL Server 2008, d'habitude pour mes requêtes normales, j'utilise cette syntaxe :
    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
     
     private List<DataRow> GetDomaines()
            {
                //Initialisation d'une variable Liste contenant des lignes de données où seront récupérés les résultats de la requête suivante.
                List<DataRow> liste = null;
     
                //Stockage de la requête pure SQL permettant de récupérer la liste des Traitements, CR, Périodes et Applications avec leur statut en fonction de la période dans une variable de type string.
                string query = "select CD_TRT, LB_TRT, CD_CR, LB_CR, PERIODE, PREREQUIS, CD_APPLI, case "
                + "when (exists (select 1 from dbo.LOGS l, dbo.REF_JOB j  where l.PERIODE = p.PERIODE and  l.CD_APPLI = 'ESPAS' and  cr.CD_CR = l.CD_CR and  j.CD_JOB = l.CD_JOB and j.CD_TRT = t.CD_TRT and l.STATUT = 'OK' and j.JR_EXEC >= DAY(l.DT_DEB))) "
                + "and not exists (select 1 from dbo.LOGS l, dbo.REF_JOB j  where l.PERIODE = p.PERIODE and  l.CD_APPLI = 'ESPAS' and  cr.CD_CR = l.CD_CR and  j.CD_JOB = l.CD_JOB and j.CD_TRT = t.CD_TRT and l.PERIODE = p.PERIODE "
                + "and ((j.JR_EXEC < DAY(l.DT_DEB) and l.DT_DEB is not null) or (l.STATUT in('KO','NEXEC')))) then 'OK' "
                + "when (exists(select 1 from dbo.LOGS l, dbo.REF_JOB j  where l.PERIODE = p.PERIODE and  l.CD_APPLI = 'ESPAS' and  cr.CD_CR = l.CD_CR and  j.CD_JOB = l.CD_JOB and j.CD_TRT = t.CD_TRT and l.PERIODE = p.PERIODE "
                + "and DAY(l.DT_DEB) IS not null and l.STATUT = 'KO')) then 'KO' "
                + "when (exists(select 1 from dbo.LOGS l, dbo.REF_JOB j  where l.PERIODE = p.PERIODE and  l.CD_APPLI = 'ESPAS' and  cr.CD_CR = l.CD_CR and  j.CD_JOB = l.CD_JOB and j.CD_TRT = t.CD_TRT and l.PERIODE = p.PERIODE "
                + "and j.JR_EXEC < DAY(l.DT_DEB) and DAY(l.DT_DEB) IS not null and l.STATUT in('NEXEC'))) then 'EN COURS' "
                + "when (exists(select 1 from dbo.LOGS l, dbo.REF_JOB j  where l.PERIODE = p.PERIODE and  l.CD_APPLI = 'ESPAS' and  cr.CD_CR = l.CD_CR and  j.CD_JOB = l.CD_JOB and j.CD_TRT = t.CD_TRT and l.PERIODE = p.PERIODE and l.STATUT in ('NEXEC','KO') "
                + "and j.JR_EXEC < DAY(l.DT_DEB) and DAY(l.DT_DEB) IS not null)) then 'EN RETARD' "
                + "when (exists(select 1 from dbo.LOGS l, dbo.REF_JOB j  where l.PERIODE = p.PERIODE and  l.CD_APPLI = 'ESPAS' and  cr.CD_CR = l.CD_CR and  j.CD_JOB = l.CD_JOB and j.CD_TRT = t.CD_TRT and l.PERIODE = p.PERIODE "
                + "and j.JR_EXEC < DAY(l.DT_DEB) and DAY(l.DT_DEB) IS not null)) then 'OK RETARD' "
                + "else 'NON INITIE' end STATUT "
                + "from dbo.REF_TRT t, dbo.REF_CR cr, (select distinct PERIODE from dbo.LOGS) p "
                + "order by t.ORDRE_TRT";
     
                //Création d'une variable de connection où sont stockés toutes les informations nécessaires à la connexion à la base de données.
                //Ces informations sont stockées dans le fichier de config Web.config.
                string connString = ConfigurationManager.AppSettings["REF_ConnectionString"];
     
                //Création d'un objet instance de SqlConnection (classe permettant la connexion ouverte à une base de données) où est stocké le contenu de la variable connString.
                using (SqlConnection conn = new SqlConnection(connString))
                {
                    //Création d'un objet de commande permettant de spécifier comment la commande sera inteprétée, ici en commande de texte SQL avec CommandType.Text.
                    using (SqlCommand objCommand = new SqlCommand(query, conn))
                    {
                        //Création d'un objet de commande permettant de spécifier comment la commande sera inteprétée, ici en commande de texte SQL avec CommandType.Text.
                        objCommand.CommandType = CommandType.Text;
                        //Création d'un objet instance de DataTable qui va récupérer la résultat de la requête.
                        DataTable dt = new DataTable();
                        //Création d'un objet instance de SqlDataAdapter qui va effectuer le lien avec SQL Server afin de récupérer les données.
                        SqlDataAdapter adp = new SqlDataAdapter(objCommand);
                        //Ouverture de la connexion.
                        conn.Open();
                        //L'instruction FILL récupère les données de la source de données et les insère dans dt.
                        adp.Fill(dt);
                        //Vérification du contenu de dt.
                        if (dt != null)
                        {
                            //Remplissage de la liste.
                            liste = dt.AsEnumerable().ToList();
                        }
                    }
                }
     
                //Le résultat est retourné à l'action.
                return liste;
            }
    J'ai essayé de faire plus ou moins la même chose pour ma vue, c'est-à-dire faire un : SELECT * FROM MA_VUE en gros mais lorsque j'exécute mon projet, il me retourne un message d'erreur me singnifiant qu'il ne trouve pas ma vue crée sur SQL SERVER.

    La syntaxe est-elle différente par rapport à celle ci-dessus pour appeler une vue ?

    Merci pour votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Tu utilises les vue comme une requete standard.

    Vérifie que ta requete avec ta vue est correcte dans un sqlserver

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur Informatique en Alternance
    Inscrit en
    Mai 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Informatique en Alternance
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2012
    Messages : 43
    Points : 38
    Points
    38
    Par défaut
    Bon, ça doit être parce qu'il est tôt et que je suis pas réveillé...

    J'ai trouvé la solution à mon soucis...je me connectais à une autre base de données qui elle ne contient pas ma vue...

    Donc...sujet résolu, j'ai modifié la chaîne de connexion par celle qui est correcte et ça fonctionne, quel abruti...

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

Discussions similaires

  1. [SQL] Comment utiliser une variable
    Par dommm063 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 06/04/2008, 13h11
  2. [SQL] Comment utiliser dans une requête une variable passée par URL
    Par foffa dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 31/08/2006, 12h27
  3. Réponses: 5
    Dernier message: 24/08/2006, 15h00
  4. [sql] comment utiliser une variable global
    Par imedg dans le forum Oracle
    Réponses: 21
    Dernier message: 02/05/2006, 15h21
  5. [9iR2][PL/SQL] Comment créer une vue dans un package ?
    Par mainecoon dans le forum Oracle
    Réponses: 6
    Dernier message: 22/02/2006, 08h10

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