当前位置:编程学习 > C#/ASP.NET >>

请教一下将DataSet转成DataTable

请教一下将DataSet转成DataTable

SqlDataAdapter da = new SqlDataAdapter("SELECT [ID], [ClassName] FROM [ClassAny] where ParentID=@id", con);

            da.SelectCommand.Parameters.Add("@id", id);
            DataSet ds = new DataSet("StationSmallType");
            da.Fill(ds);

            ds.WriteXml(Response.OutputStream);
            Response.Flush();
            Response.End();

转成后
string sql = "SELECT [ID], [ClassName] FROM [ClassAny] where ParentID=@id";
                db.AddParameter("@id", id);
                DataSet ds = new DataSet("StationSmallType");
                
                ds = db.ExecuteDataTable(sql);
                ds.WriteXml(Response.OutputStream);
                Response.Flush();
                Response.End();

不知道应该怎么写,麻烦各位帮忙看一下。

--------------------编程问答-------------------- 没有看明白,不过这两者可以这样:

DataTable dt = dataSet.Tables[0];

...

DataSet dataSet = new DataSet();
dataSet.Tables.Add(dataTable); --------------------编程问答-------------------- what? --------------------编程问答-------------------- 都没明白什么意思 写了半天 --------------------编程问答-------------------- dataset.tables[0] --------------------编程问答-------------------- DataSet ds = new DataSet("StationSmallType");              
DataTable dt = db.ExecuteDataTable(sql);
ds.Tables.Add(dt);
--------------------编程问答-------------------- DataSet ds = new DataSet("StationSmallType");
ds = db.ExecuteDataTable(sql);
=>
DataSet ds = new DataSet("StationSmallType");              
DataTable dt = db.ExecuteDataTable(sql);
ds.Tables.Add(dt); --------------------编程问答-------------------- 其实原来是是这样的,我不知道怎么转

            string id = this.Request["id"];
       
         /*   SqlConnection con = new SqlConnection(ConfigurationSettings.AppSettings["connectionstring"]);
            SqlDataAdapter da = new SqlDataAdapter("SELECT [ID], [ClassName] FROM [ClassAny] where ParentID=@id", con);

            da.SelectCommand.Parameters.Add("@id", id);
            DataSet ds = new DataSet("StationSmallType");
            da.Fill(ds);

            ds.WriteXml(Response.OutputStream);
            Response.Flush();
            Response.End(); 


我想改成这样的,我调用一个数据层,不想再用上面这个再连接一次数据库了.所以改成下面不知有没问题
           using (DbDataServices db = new DbDataServices())
            {
                string sql = "SELECT [ID], [ClassName] FROM [ClassAny] where ParentID=@id";
                db.AddParameter("@id", id);
                DataSet ds = new DataSet("StationSmallType");
                DataTable dt = db.ExecuteDataTable(sql);
                ds.Tables.Add(dt);
                ds.WriteXml(Response.OutputStream);
                Response.Flush();
                Response.End();
            } --------------------编程问答-------------------- dataset.tables[0]正解 --------------------编程问答-------------------- 查询后返回的dataset再dataset.tables[0]不就得到datatable了么 --------------------编程问答-------------------- 2年前的帖子……
可以结贴了 --------------------编程问答--------------------
引用 10 楼 ojlovecd 的回复:
2年前的帖子……
 可以结贴了

真的是2年前的帖子 --------------------编程问答-------------------- dataset.tables[0] --------------------编程问答-------------------- DataSet就是DataTable 的容器. 你查询出来的结果默认就是放在DataSet第一个DataTable中.
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,