【问题标题】:How to Count total Medal of Sports data from excel如何从excel计算总奖牌数据
【发布时间】:2013-09-20 08:59:00
【问题描述】:

我正在 ASP.NET 中开发一个窗口应用程序。为了存储我使用 Excel 工作表的数据。 Excel 工作表具有以下字段:

  • 状态
  • 点

为了获得,我有以下标准:

  • 金币 - 7 分
  • 银 - 5 分
  • 青铜 - 4 分

我想计算每个州获得的金牌、银牌和铜牌的总数。为此,我使用了以下查询:

OdbcConnection con = new OdbcConnection(ConfigurationManager.ConnectionStrings["SportTech"].ConnectionString);
//string query = "select STATE,sum(Point) as MEDAL from [Sheet2$] Group by STATE order by sum(Point) desc";
string query = "SELECT STATE,SUM(Point) AS MEDAL,SUM(CASE WHEN Point = 7 THEN 1 ELSE 0 END) AS GoldCount,SUM(CASE WHEN Point = 5 THEN 1 ELSE 0 END) AS SilverCount,SUM(CASE WHEN Point = 4 THEN 1 ELSE 0 END) AS BronzeCount FROM [Sheet2$] GROUP BY STATE ORDER BY SUM(Point) DESC";
OdbcCommand cmd = new OdbcCommand(query, con);
OdbcDataAdapter da = new OdbcDataAdapter(cmd);
con.Open();
DataTable dt = new DataTable();
da.Fill(dt);

dataGridView1.DataSource = dt;
con.Close();

但它显示错误:

ERROR [42000Օ] [Microsoft][ODBC Excel Driver] 语法错误(缺失 运算符)在查询表达式 'SUM(CASE WHEN Point = 7 THEN 1 ELSE 0 END)'。

如何解决此错误? 谢谢!

【问题讨论】:

  • 有人可以帮忙吗?

标签: asp.net odbc


【解决方案1】:

如果我理解正确,你可以试试这个。我使用的是 OleDB 而不是 Odbc

string constring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\\statetest.xls;Extended Properties=\"Excel 8.0;HDR=YES\"";
OleDbConnection con = new OleDbConnection(constring);
string query = "select STATE,sum(IIF(point = 7,1,sum(IIF(point = 5,1,sum(IIF(point =  4,1,0)))))) as PointsPerState,sum(IIF(point = 7,1,0)) as Gold, sum(IIF(point = 5,1,0)) as Silver, sum(IIF(point = 4,1,0)) as Bronce from [Sheet2$] group by STATE";
OleDbCommand cmd = new OleDbCommand(query, con);
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
con.Open();
DataTable dt = new DataTable();
da.Fill(dt);

【讨论】:

  • 谢谢它对我有用。先生,我也想要每个州的总奖牌。你能帮帮我吗
  • 但是先生,它计算总积分我想要每支球队的总奖牌(金+银,铜)。我该怎么做。谢谢
  • 我为 PointPerState 添加了一个新的总计算,希望语法正确。
猜你喜欢
  • 2022-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-10
  • 1970-01-01
  • 1970-01-01
  • 2012-08-02
相关资源
最近更新 更多