日期:2014-05-20  浏览次数:20858 次

如何取出dataset的查询结果
使用下面的方法执行存储过程并返回查询结果,代码执行正常,查询结果是一个结果集,取得DataSet后该如何循环读出其中的内容
代码大致如下
                SqlConnection   conn;
                  ...连接数据库
                private   SqlCommand   sqlCmd;
                private   SqlDataAdapter   sqladapter;
                sqladapter   =   new   SqlDataAdapter();
                DataSet   dataset   =   new   DataSet();
                sqlCmd   =   new   SqlCommand( "sp_test ",   conn);
                        //设置使用存储过程
                        _sqlCmd.CommandType   =   CommandType.StoredProcedure;

                        try
                        {
                                sqladapter.SelectCommand   =   sqlCmd;
                                sqladapter.Fill(dataset);
                        }
                        catch   (Exception   ex)
                        {

                            ...
                        }
                        finally
                        {

                                conn.Close();
                        }
//接下来如何读出结果集中的内容?我想使用 dataset.Tables(0).
但是tables(0)不存在.但是我跟踪SQL查询是正确的,应该有记录

------解决方案--------------------
foreach(datarow dr in dataset.Tables[0].rows)
{
dr[0].ToString();
dr[1].ToString();
dr[2].ToString();
}
------解决方案--------------------
sqladapter.Fill(dataset);改成sqladapter.Fill(dataset, "tablename ");
然后 dataset.Table[ "tablename "].rows[][].ToString();