未找到存储过程,字段或属性的问题?

时间:2012-06-01 15:24:59

标签: c# sql gridview boundfield

我正在尝试内联asp_Users& asp_Membership表格,以便我可以CreateDate asp_Membership BoundField中的GridView检索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

{{1}}

尽管我在存储过程中选择了它。我对SQL很新,所以它可能是我忽略的一些简单的东西?非常感谢任何帮助。

谢谢。

1 个答案:

答案 0 :(得分:2)

您最外面的SELECT子句不包含该列:

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

需要

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