0

我正在尝试将 AccessDataSource 绑定到 ASP.NET 中的 GridView。我的 AccessDataSource 由两个表组成,比方说,

Table Data, Table Modifications

我从 AccessDataSource 中选择数据的查询如下

SELECT Data.*, IIF(ISNULL(Modifications.Comments), ' ', Modifications.Comments) AS Comments,
               IIF(ISNULL(Modifications.Disengagement), 0, Modifications.Disengagement) AS Disengagement
               FROM (Data LEFT OUTER JOIN Modifications ON Data.[Project Number] = Modifications.[Project Number])

我使用 Visual Studio 中的查询生成器来验证上一个查询的输出,一切正常。

“数据”表中的每个字段都很好,不会导致引发异常。例如,这可以正常工作,因为“金额”列来自“数据”表。

<asp:BoundField DataField="Amount"
        HeaderText="<%$Resources:i18n, Column_Amount %>" 
        SortExpression="Amount" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="1%" />

从这一点开始一切都很好,我继续前进,所以我在我的 GridView 中创建了一个 Boundfield,其中包含来自“Modifications.[Disengagement]”的数据,如下所示:

<asp:BoundField DataField="Disengagement"
    HeaderText="<%$Resources:i18n, Column_Disengagement %>" 
    SortExpression="Disengagement" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="1%" />

但我似乎无法访问“修改”表中的任何列,当我启动网页时,我收到如下错误:

System.Web.HttpException: Unable to find property 'Disengagement' in the selected data source.

我已经在我的代码中仔细检查了我的列名和变量名,我将继续这样做,如果必须,请三重检查,但我认为问题来自其他地方。

你们有什么想法吗?

4

1 回答 1

0

我发现了我的问题。我通过单击按钮在代码中启动了另一个查询,并且该查询没有获得良好的数据。我已经解决了这个问题,并将实施一个类似“单例”的解决方案来管理我的代码中的查询字符串。

于 2013-10-07T15:40:15.507 回答