日期:2014-05-17  浏览次数:20701 次

SQL怎么获取查询结果?

string sql="select sum(case when name = '北京' then 1 else 0 end)from table1";
string connection = "DATA SOURCE=orcl;USER ID=WGYX;PassWord=wgyx";
OracleConnection sc = new OracleConnection(connection);
OracleCommand cmd1 = new OracleCommand(sql1, sc);
DataSet db = new DataSet();
    try
       {
           sc.Open();
           OracleDataAdapter ad1 = new OracleDataAdapter();
           ad1.SelectCommand = cmd1;
           ad1.Fill(db);
        }
     catch (Exception ex)
        {
          context.Response.Write(ex.Message);
        }
      finally
        {
          sc.Close();
        }

怎么在代码里获取sum的结果呢?
------最佳解决方案--------------------
引用:
只获取一个sum值的话用OracleCommand.ExecuteScalar()就可以了,不需要用OracleDataAdapter


 object obj = cmd.ExecuteScalar();
int sum=Convert.ToInt32(obj) ;
注意异常捕获
------其他解决方案--------------------
db.Tables[0].Rows[0][0]
------其他解决方案--------------------
用datagridview接受dataset的值
------其他解决方案--------------------

if(db.Tables[0].Rows.Count>0)
{
  string str = db.Tables[0].Rows[0]["filedname"].ToString(); //filedname为列名
}

------其他解决方案--------------------
你是要获取Sum 吗?? 问题貌似都没有讲清楚哦!!!
------其他解决方案--------------------
db.Tables[0].Rows[i][i]不知道你写那sql有啥意思 
------其他解决方案--------------------
只获取一个sum值的话用OracleCommand.ExecuteScalar()就可以了,不需要用OracleDataAdapter
------其他解决方案--------------------
引用:
引用:只获取一个sum值的话用OracleCommand.ExecuteScalar()就可以了,不需要用OracleDataAdapter

 object obj = cmd.ExecuteScalar();
int sum=Convert.ToInt32(obj) ;
注意异常捕获


正确!谢谢