0

J'ai rencontré un problème lors de l'exécution d'une procédure stockée dans Silverlight 4/RIA. La seule valeur que je récupère est null. Est-ce que je fais erreur sur mon code client et serveur?Silverlight 4: exécution d'une procédure stockée qui renvoie une chaîne

côté client:

public ZipCodesDomainContext _ZipcodesDomainContext = new ZipCodesDomainContext(); 

     /// <summary> 
     /// Creates a new <see cref="MainPage"/> instance. 
     /// </summary> 
     public MainPage() 
     { 
      InitializeComponent(); 
      this.loginContainer.Child = new LoginStatus(); 
      LoadCity(); 
     } 
private void LoadCity() 
     { 
      txtCity.Text = _ZipcodesDomainContext.GetCityByZip(42071).Value; 
     } 

Service Domaine:

public string GetCityByZip(int pZip) 
     { 
      return ObjectContext.sp_GetCityByZip(pZip).ToString(); 
     } 

Modèle de données (Lors de la sélection du proc stocké): alt text

procédure stockée:

USE [ZIPCODES] 
GO 
/****** Object: StoredProcedure [dbo].[sp_GetCityByZip] Script Date: 08/23/2010 13:48:11 ******/ 
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 
-- ============================================= 
-- Author:  <Author,,Name> 
-- Create date: <Create Date,,> 
-- Description: <Description,,> 
-- ============================================= 
ALTER PROCEDURE [dbo].[sp_GetCityByZip] 
    @ZIP int 

AS 
BEGIN 
    -- SET NOCOUNT ON added to prevent extra result sets from 
    -- interfering with SELECT statements. 
    SET NOCOUNT ON; 

    -- Insert statements for procedure here 
    SELECT City FROM ZipCodes WHERE Zip = @ZIP 
END 

Répondre

0

Que voulez-vous dire que vous obtenez null retour?

Tout d'abord, votre fonction GetCityByZip renvoie un string sur lequel vous effectuez un .Value sur lequel n'est pas valide.

Si votre obtenir null retour de la procédure stockée:

return ObjectContext.sp_GetCityByZip(pZip).ToString(); 

échouerait parce que vous essayer de faire un ToString() sur un objet nul.

Qu'est-ce que ObjectContext? Utilisez-vous Linq To SQL? Si donc vous revenez ensemble de résultats qui devrait avoir une enveloppe de toutes les données que vous voulez faire quelque chose comme:

ObjectContext.sp_GetCityByZip(pZip).City; 

Et votre autre appel serait juste:

txtCity.Text = _ZipcodesDomainContext.GetCityByZip(42071); 

Si vous l'effacer un peu je pourrais être en mesure de comprendre quelle est la question exacte, mais dans son état actuel, votre question m'a confondu.

+0

- L'instruction return renvoyait null est ce que je voulais dire à propos de l'annulation de null. -ObjectContext est ce qui est utilisé dans les autres fonctions de contexte de domaine -J'essaierai d'ajouter le '.City'. Merci pour la réponse rapide! Désolé pour vous et tous pour la question confuse, encore un débutant aux services RIA et LINQ. –

+0

@Redburn Je n'ai pas utilisé RIA pour que tout se passe bien, je ne faisais que commenter sur la base de ce que j'ai pu déchiffrer à partir de la question. :) – Kelsey

+0

Ma réponse: http://forums.silverlight.net/forums/p/197644/460711.aspx –

Questions connexes