1

我有这个 sql 命令:

SELECT Jmeno, 
COUNT(CASE WHEN Ucast = 'TRUE' then 1 end) as Pocet_zapasu, 
SUM(CASE WHEN Branky>=0 then Branky end) as branek 
FROM Hraci 
INNER JOIN Ucast_Zapas ON Ucast_Zapas.ID_Hrace_zapas=Hraci.IDHrace  
INNER JOIN Zapas ON Zapas.ID_zapas=Ucast_Zapas.ID_zapasu_ucast  
INNER JOIN Kategorie ON Kategorie.IDkategorie=Zapas.Kategorie_zapas  
WHERE (Zapas.Druh=1) GROUP BY Jmeno

但是当我在 listview 中使用这个命令时:

<asp:ImageButton ID="Image2" runat="server" ImageUrl="~/Icons/edit.png" PostBackUrl='<%#string.Format("/Default3.aspx?id={0}",Eval("IDHrace"))%>' />

我有这个错误:

 DataBinding: 'System.Data.DataRowView' does not contain a property with the name 'IDHrace'. 

因为在 sqlcommand 中缺少 Hraci.IDHrace ...但我不知道为什么我将 Hraci.IDHrace 提供给以前的 sqlcommand .. 你知道吗?

4

2 回答 2

2

您的查询不返回IDHrace

您应该将其包含在您的SELECT声明中:

SELECT 
Hraci.IDHrace,
Jmeno, 
COUNT(CASE WHEN Ucast = 'TRUE' then 1 end) as Pocet_zapasu, 
SUM(CASE WHEN Branky>=0 then Branky end) as branek 
FROM Hraci 
INNER JOIN Ucast_Zapas ON Ucast_Zapas.ID_Hrace_zapas=Hraci.IDHrace  
INNER JOIN Zapas ON Zapas.ID_zapas=Ucast_Zapas.ID_zapasu_ucast  
INNER JOIN Kategorie ON Kategorie.IDkategorie=Zapas.Kategorie_zapas  
WHERE (Zapas.Druh=1) GROUP BY Jmeno, Hraci.IDHRace
于 2013-07-11T08:10:05.043 回答
0

你需要IDHrace在你的sql语句中选择

于 2013-07-11T08:10:03.453 回答