代码之家  ›  专栏  ›  技术社区  ›  Jacob Saylor

Silverlight4:运行返回字符串的存储过程

  •  0
  • Jacob Saylor  · 技术社区  · 15 年前

    在Silverlight 4/RIA中执行存储过程时遇到问题。我得到的唯一值是null。我是不是把客户端和服务器端的代码弄错了?

    客户端:

    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;
            }
    

    域服务:

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

    数据模型(选择存储过程时): alt text

    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
    
    1 回复  |  直到 15 年前
        1
  •  0
  •   Kelsey    15 年前

    你得到什么意思 null 回来?

    首先,你的职能 GetCityByZip 返回一个 string 你在做什么 .Value

    如果你得到 无效的

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

    会失败,因为你会尝试 ToString() 在空对象上。

    是什么 ObjectContext ? 您正在使用linqtosql吗?如果是这样,您将返回一个结果集,该结果集应该有一个所有数据的包装器,这样您就可以执行以下操作:

    ObjectContext.sp_GetCityByZip(pZip).City;
    

    txtCity.Text = _ZipcodesDomainContext.GetCityByZip(42071);
    

    推荐文章