何らかの理由で、「CustomerAlertCountTotal」に含まれる値を取得できません。
QueryBuilder (Visual Studio 2010) を使用してクエリを実行すると、CustomerAlertCountTotal の数値カウント値/結果を含む正しい行が返されます。
これが私のSELECTクエリです:
<asp:SqlDataSource ID="SqlDataSourceCustomerList" runat="server"
ConnectionString="REMOVED"
ProviderName="REMOVED"
SelectCommand="SELECT contact.id_contact, contact.cname, contact.caddress1, contact.caddress2, contact.caddress3, contact.caddress4, contact.caddress5, contact.cpostcode, contact.ctel, contact.cmobile, contact.cemail, contact.trading_id, contact.cposition, trading_name.trading_name, CustomerAlertCountTotal FROM contact INNER JOIN trading_name ON contact.trading_id = trading_name.id_trading_name LEFT JOIN (SELECT COUNT(AlertID) AS CustomerAlertCountTotal, AlertTradingID FROM customer_support_dev.customer_alerts) AS COUNT ON COUNT.AlertTradingID = contact.trading_id WHERE (CHAR_LENGTH(contact.cname) > 0) ORDER BY contact.cname">
</asp:SqlDataSource>
または少し読みやすい:
SELECT contact.id_contact, contact.cname, contact.caddress1, contact.caddress2, contact.caddress3, contact.caddress4, contact.caddress5, contact.cpostcode, contact.ctel, contact.cmobile, contact.cemail, contact.trading_id, contact.cposition, trading_name.trading_name, CustomerAlertCountTotal
FROM contact
INNER JOIN trading_name ON contact.trading_id = trading_name.id_trading_name
LEFT JOIN (SELECT COUNT(AlertID) AS CustomerAlertCountTotal, AlertTradingID
FROM customer_support_dev.customer_alerts) AS COUNT ON COUNT .AlertTradingID = contact.trading_id
WHERE (CHAR_LENGTH(contact.cname) > 0)
ORDER BY contact.cname
そして、これは私が値を表示しようとしている方法です:
<asp:TemplateField HeaderText="CustomerAlertCountTotal" SortExpression="CustomerAlertCountTotal">
<ItemTemplate>
<em><%#Eval("CustomerAlertCountTotal")%></em>
</ItemTemplate>
</asp:TemplateField>
これを置き換えると:
<em><%#Eval("CustomerAlertCountTotal")%></em>
これとともに:
<em><%#Eval("cemail")%></em>
次に、CustomerAlertCountTotal の合計値があるはずの電子メール アドレスが表示されるので、ページ コードが本質的に健全であることはわかっていますが、何らかの理由で、CustomerAlertCountTotal が実際には使用可能な値として選択されていないように見えますが、querybuilder でカウント結果が正常に表示されます。 ??