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

Dotnet Discussion :

conversion date to string sous Linq


Sujet :

Dotnet

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de Pelote2012
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 925
    Billets dans le blog
    2
    Par défaut conversion date to string sous Linq
    Voici mon problème
    J'ai une table avec un champ ID, un champ libelle et un champs date
    Je veux mettre cela dans un radiobuttonlist
    avec value = id
    et text = (si date = nothing,libelle,libelle ( date )

    ce code marche bien, mais ma date n'est pas dans le bon format (2012/09/13 00:00:00:000)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     <asp:RadioButtonList ID="lstNavettesAller" runat="server" CssClass="CHK" DataTextField="LibLg"  DataValueField="IDNavette">
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    lstNavettesAller.DataSource=(From Nav In LesDatas.Navettes Where Nav.TypeNavette = letype Order By Nav.DateNavette Select New With {Nav.IDNavette, .LibLg = CStr(If(Nav.DateNavette Is Nothing, Nav.Libelle, Nav.Libelle & " ( " & CStr(Nav.DateNavette)) & " )")})
    lstNavettesAller.DataBind()
    J'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    lstNavettesAller.DataSource=(From Nav In LesDatas.Navettes Where Nav.TypeNavette = letype Order By Nav.DateNavette Select New With {Nav.IDNavette, .LibLg = CStr(If(Nav.DateNavette Is Nothing, Nav.Libelle, Nav.Libelle & " ( " & CStr(Nav.DateNavette.Value.tostring("dddd/MM/yyyy"))) & " )")})
    lstNavettesAller.DataBind()
    Mais là je me prend un
    linq to Entity does not recognise the method...
    Si j'ai bien compris c'est un problème de conversion, mais je ne trouve pas la solution en vb.net

  2. #2
    Membre Expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Par défaut
    Linq to Entities doit transformer ton Linq en SQL. Donc tu ne peux utiliser que certaines méthodes, qui sont "compatibles" avec SQL. Regarde ici : http://msdn.microsoft.com/en-us/library/bb738681.aspx

  3. #3
    Membre éprouvé
    Avatar de Pelote2012
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 925
    Billets dans le blog
    2
    Par défaut
    Merci pour ta précision.

    J'avais déjà vu ce site.
    Dans mes recherches j'ai vu une solution mais en C#, que je n'ai pas trop compris et du coup pas pu adapter.
    Apperement, il faut partir de sa requete link en faire une liste ((MaRequete).Tolist().select ....

  4. #4
    Membre éprouvé
    Avatar de Pelote2012
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 925
    Billets dans le blog
    2
    Par défaut
    Et là ...

    En voulant te donner un exemple de mes essais, j'y suis arriver
    La nuit porte ces fruits

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     Public Shared Function GetByType(ByVal letype As String) As Object
            Try
                'Return (From Nav In LesDatas.Navettes Where Nav.TypeNavette = letype Order By Nav.DateNavette Select New With {Nav.IDNavette, .LibLg = CStr(If(Nav.DateNavette Is Nothing, Nav.Libelle, Nav.Libelle & " ( " & CStr(Nav.DateNavette)) & " )")})
                Dim Query = (From Nav In LesDatas.Navettes Where Nav.TypeNavette = letype Order By Nav.DateNavette Select New With {Nav.IDNavette, Nav.DateNavette, Nav.Libelle})
                Dim Query2 = From u In Query.ToList() Select New With {.IDNavette = u.IDNavette, .LibLg = If(u.DateNavette Is Nothing, u.Libelle, u.Libelle & " ( " & u.DateNavette.Value.ToString("dddd dd MMM yyyy HH:mm") & " )")}
                Return Query2
            Catch ex As Exception
                Return Nothing
            End Try
        End Function
    Maintenant j'ai bien l'affichage désiré : Libellé avec date s'il y en une

    Si je comprend bien après le Tolist() c'est toujours du Linq mais plus sur du SQL, donc je peux utiliser les commandes classiques de formatage de date.

    Ma première requete "query" retourne tous les champs nécessaire
    et la deuxième fais les transformations

    Merci de ton aide, en voulant reformuler ...

  5. #5
    Membre Expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Par défaut
    Citation Envoyé par BROWNY Voir le message

    Si je comprend bien après le Tolist() c'est toujours du Linq mais plus sur du SQL, donc je peux utiliser les commandes classiques de formatage de date.
    Oui, ça devient du linq to object, donc tu peux utiliser le Framework .Net. L'inconvénient est qu'elle n'est évidemment pas exécutée par le serveur sql, ce qui peut-être pénalisant. Mais bon, si ça marche bien comme ça, ne pas changer. Soyons pragmatique

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

Discussions similaires

  1. conversion de la date en string
    Par shoupinou dans le forum BIRT
    Réponses: 8
    Dernier message: 06/12/2007, 08h06
  2. Conversion d'un string en Datetime sous VBScript
    Par ninsekh dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 26/09/2007, 20h42
  3. Réponses: 5
    Dernier message: 21/08/2007, 11h33
  4. [SQL SERVER] Conversion date en string
    Par taska dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 31/05/2007, 15h26
  5. conversion date string
    Par NAIMA2 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 13/03/2007, 09h05

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