Requête Linq et concaténation avec NULL

Le
Gilbert Tordeur
Bonjour.

Contexte : VB 2008, Webforms, SQL Server 2000
J'utilise une requête Linq en Dataource d'une Lisbox :

Dim ContexteFluide As New FluideDataContext(cnString)
Dim LesClients = From Client In ContexteFluide.Client _
Where Client.FclCodSociete = numSocieteJcEnFrance
Select Case codTypeCritere
Case EjcCodTypeCritereRecherche.AucunCritere
Case EjcCodTypeCritereRecherche.CritereCommencePar
LesClients = From Client In LesClients _
Where Client.FclNom.StartsWith(valeurCritere)
Case EjcCodTypeCritereRecherche.CritereContient
LesClients = From Client In LesClients _
Where Client.FclNom.Contains(valeurCritere)
End Select
Dim MesClients = From Client In LesClients _
Order By Client.FclNom, Client.FclLocalite, Client.FclRue1 _
Select Client.FclCodClient, FclNomLocaliteRue = Client.FclNom &
" - " & Client.FclLocalite & " - " & Client.FclRue1

lbx.DataTextField = "FclNomLocaliteRue"
lbx.DataValueField = "FclCodClient"
lbx.DataSource = MesClients
lbx.DataBind()

Mon problème est le suivant : si le champ FclRue1 est NULL, tout
FclNomLocaliteRue est affiché à blanc, au lieu de contenir
Client.FclNom & " - " & Client.FclLocalite & " - "

Comment corriger ?

Merci d'avance,
Gilbert
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Bill2
Le #18342241
Gilbert Tordeur wrote:

Mon problème est le suivant : si le champ FclRue1 est NULL, tout
FclNomLocaliteRue est affiché à blanc, au lieu de contenir
Client.FclNom & " - " & Client.FclLocalite & " - "

Comment corriger ?

Merci d'avance,
Gilbert



en rajoutant un .toString ?
Je ne connais pas encore Link ... donc je ne fais que proposer.

Sinon, un coup de iif()

... & " - " & iif(not
string.isnullorempty(Client.FclLocalite),Client.FclLocalite ,"") & " - "

(tapé à l'arrache, donc non testé ...)
--
Bill2
Utilisez Process Manager, gestionnaire de processus automatique :
http://www.bill2-software.com/processmanager/
Jérémy Jeanson
Le #18342701
Bonjour tout le monde,

Oui en Linq il est possible de faire un traitement de faire des
opération codée en Vb comme ce qu'indique Bill2. Très pratique pour les
cast et les tests, donc ce serra utile pour Gilbert.

Par contre il faut faire attention à ce qui est effectivement supporté
par le context de données. Linq to Sql et Entity par exemple ne
supportent pas les mêmes méthodes.
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Gilbert Tordeur
Le #18343141
J'ai trouvé ceci, et cela fonctionne :

If(Client.FclRue1, "")

Par contre, j'avoue que je ne comprends pas ce If.
Gilbert
Publicité
Poster une réponse
Anonyme