【发布时间】:2015-02-06 07:46:37
【问题描述】:
几乎所有内容都在标题中,我正在尝试创建一个 SQL 数据源,用于在 gridview 中显示多个表中的数据。
我在模型中有三个表:
table lot_poudre with Id(主键)、reference、date_fabrication、ref_fab、masse_reelle、projet_Id(表 projet 的 Id 的外键)
table lot_element with Id(主键)、masse、lot_poudre_Id(lot_poudre 表的 Id 的外键)
带有 ID 的表项目
这是我尝试过的用于显示来自两个表(lot_poudre 和 lot_element)的数据的方法:
<asp:SqlDataSource
ID="SqlDataSourcelotspoudre"
runat="server"
ConnectionString="Data Source=GRE032477\SQLEXPRESS;Initial Catalog=db_pour_test;Integrated Security=True;MultipleActiveResultSets=True;Application Name=EntityFramework"
ProviderName="System.Data.SqlClient"
SelectCommand=
"SELECT lot_poudre.Id, lot_poudre.reference, lot_poudre.date_fabrication, lot_poudre.ref_fab, lot_poudre.masse_reelle/Sum(lot_element.masse)*100 AS rendement, lot_poudre.masse_reelle AS masse_initiale
FROM
lot_poudre INNER JOIN lot_element
ON lot_poudre.Id = lot_element.lot_poudre_Id
GROUP BY lot_poudre.Id,lot_poudre.reference, lot_poudre.date_fabrication, lot_poudre.ref_fab,lot_poudre.masse_reelle;"></asp:SqlDataSource>
问题是当我尝试显示第三个表中的数据时(使用 table projet):
<asp:SqlDataSource
ID="SqlDataSourcelotspoudre"
runat="server"
ConnectionString="Data Source=GRE032477\SQLEXPRESS;Initial Catalog=db_pour_test;Integrated Security=True;MultipleActiveResultSets=True;Application Name=EntityFramework"
ProviderName="System.Data.SqlClient"
SelectCommand=
"SELECT lot_poudre.Id, lot_poudre.reference, lot_poudre.date_fabrication, lot_poudre.ref_fab, projet.nom, lot_poudre.masse_reelle/Sum(lot_element.masse)*100 AS rendement, lot_poudre.masse_reelle AS masse_initiale
FROM projet
INNER JOIN
lot_poudre INNER JOIN lot_element
ON lot_poudre.Id = lot_element.lot_poudre_Id
ON projet.Id = lot_poudre.projet_Id
GROUP BY lot_poudre.Id,lot_poudre.reference, lot_poudre.date_fabrication, lot_poudre.ref_fab,lot_poudre.masse_reelle, projet.nom;"></asp:SqlDataSource>
我得到的错误是对象“projet”的名称无效。
我尝试了所有方法并需要一些帮助,我正在尝试构建的最终 gridview 显示来自 5 个表的值!!
谢谢
博德'
【问题讨论】:
标签: asp.net entity-framework gridview inner-join sqldatasource