无法在DataSource中找到属性

时间:2013-10-07 15:15:40

标签: c# asp.net sql gridview

我正在尝试将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中的查询构建器来验证上一个查询的输出,一切正常。

表格中的每个字段"数据"很好,不会引起异常抛出。例如,这将很好地工作,因为" Amount"列来自"数据"表

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

从这一点开始,一切都很好,我继续前进,所以我在GridView中创建了一个包含来自&#34;修改。[脱离]&#34;的数据的边界,如下所示:

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

但我似乎无法访问&#34;修改&#34;中的任何列。表,当我启动WebPage时,我收到如下错误:

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

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

你们有什么想法吗?

1 个答案:

答案 0 :(得分:0)

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