MySqlDataReader 在查询中有sum(a+b)时读取数据
MySqlDataReader reads data when there is sum(a+b) in the query
当我使用这个查询时
("SELECT id, at_date AS MyDate , nom, pax, SUM(prix*pax) AS somme,
SUM(pax) AS totpax
FROM atelier ORDER BY " + Order_by + " " + SortDir + " LIMIT @Myid," +
PublicVariables.MySqlLimit, conn)
这里报错
_listBox[1].Items.Add(Convert.ToDateTime(reader["MyDate"]).ToString("d"));
因为 table 中没有行。 Table 为空。
但是当我从查询中抑制 SUM(prix*pax) AS somme 和 SUM(pax) AS totpax 时,读取器不读取并且没有错误发生。
里面有没有MySql的技巧?
我通过在调用此方法之前检查 table 是否有任何行来解决问题,但这不是我喜欢的任何想法?
在 order by 子句之前对所有非聚合函数使用 Group by 子句:
group by id,MyDate,nom,pax
当我使用这个查询时
("SELECT id, at_date AS MyDate , nom, pax, SUM(prix*pax) AS somme,
SUM(pax) AS totpax
FROM atelier ORDER BY " + Order_by + " " + SortDir + " LIMIT @Myid," +
PublicVariables.MySqlLimit, conn)
这里报错
_listBox[1].Items.Add(Convert.ToDateTime(reader["MyDate"]).ToString("d"));
因为 table 中没有行。 Table 为空。
但是当我从查询中抑制 SUM(prix*pax) AS somme 和 SUM(pax) AS totpax 时,读取器不读取并且没有错误发生。
里面有没有MySql的技巧?
我通过在调用此方法之前检查 table 是否有任何行来解决问题,但这不是我喜欢的任何想法?
在 order by 子句之前对所有非聚合函数使用 Group by 子句:
group by id,MyDate,nom,pax