0

私が持っているからフィールドを取得できるように、テーブルasp_Usersと内部結合を試みています。asp_MembershipCreateDateasp_MembershipBoundFieldGridView

私には理にかなっているように思われる次のことを試しましたが、エラーがスローされ続けます:

A field or property with the name 'CreateDate' was not found on the selected data source.

 ALTER PROCEDURE [dbo].[stp_Customer_Fetch_Paged]
    (
        @sortExpression nvarchar(100),
        @startRowIndex int,
        @maximumRows int
    )
    AS
    BEGIN
        -- SET NOCOUNT ON added to prevent extra result sets from
        -- interfering with SELECT statements.
        SET NOCOUNT ON;

        -- Make sure a @sortExpression is specified
        IF LEN(@sortExpression) = 0 
            SET @sortExpression = 'aspnet_Users.UserId'

        -- Issue query
        DECLARE @sql nvarchar(4000)
        SET @sql = '
        SELECT userid, username, first_name, last_name, town,postcode, rowrank FROM (
    SELECT     aspnet_Users.UserId, aspnet_Membership.UserId as MembershipID, aspnet_Membership.CreateDate, aspnet_Users.UserName, Customer.title, Customer.first_name, Customer.last_name, Customer.telephone, 
                          Customer.dpa_consent, Customer.billing_address_id, Address.friendly_name, Address.address_line_1, Address.address_line_2, 
                          Address.address_line_3, Address.town, Address.postcode, ROW_NUMBER() OVER (ORDER BY ' + @sortExpression + ' ) AS RowRank
    FROM  Customer INNER JOIN
                          aspnet_Users ON Customer.userid = aspnet_Users.UserId 
                          INNER JOIN
                          Address ON Customer.billing_address_id = Address.address_id AND Customer.userid = Address.user_id
                          INNER JOIN
                          aspnet_Membership ON
                          aspnet_Membership.UserId = aspnet_Users.UserId

        ) AS ProductsWithRowNumbers
        WHERE RowRank > ' + CONVERT(nvarchar(10), @startRowIndex) + 
        ' AND RowRank <= (' + CONVERT(nvarchar(10), @startRowIndex)+ ' +  ' +
        CONVERT(nvarchar(10), @maximumRows) + ')'

        print @sql

        -- Execute the SQL query
        EXEC sp_executesql @sql

    END

ストアドプロシージャで選択したにもかかわらず。私はSQLに非常に慣れていないので、見落としている単純なものかもしれませんか? どんな助けでも大歓迎です。

ありがとうございました。

4

1 に答える 1

2

最も外側のSELECT句にはその列が含まれていません:

SELECT userid, username, first_name, last_name, town,postcode, rowrank

する必要があります

SELECT userid, username, first_name, last_name, town,postcode, CreateDate, rowrank
于 2012-06-01T15:30:20.080 に答える