我的数据库中有一个表,它的所有列都是字符串。 字段是名称,日期,价格。 我在页面上放了一个标签,我希望在标签中显示列价的总和。 我尝试下面的代码,但我有溢出错误。
string reqcom = "select sum(cint(trim(price)) from mytable";
OleDbCommand cmd = new OleDbCommand(reqcom, reqcon);
cmd.CommandType = CommandType.Text;
reqcon.Open();
OleDbDataReader dtr = cmd.ExecuteReader();
if(dtr.Read())
this.totallbl.Text = dtr["price"].ToString();
答案 0 :(得分:1)
您可以先输出值,然后像下面的代码一样得到它们的总和:
select sum(cast(price as decimal(18,0))) from mytable
之后,请使用cmd.ExecuteScalar()
代替cmd.ExecuteReader()
。 ExecuteScalar只返回一个值。请使用以下代码:
decimal totalprice = Convert.ToDecimal(cmd.ExecuteScalar());