日期:2014-05-18 浏览次数:20798 次
DataSet ds = new DataSet(); DataTable dt = new DataTable("aaa"); ds.Tables.Add("aaa"); //自己先创建一个 aaa 表加入ds ds.Tables["aaa"].Columns.Add(new DataColumn("OrderID", typeof(int))); ds.Tables["aaa"].Columns.Add(new DataColumn("CustomerID", typeof(string))); DataRow dr = ds.Tables["aaa"].NewRow(); dr["OrderID"] = 0; dr["CustomerID"] = "xyz"; ds.Tables["aaa"].Rows.Add(dr); string conStr = "server=.;database=northwind;integrated security= sspi"; SqlConnection con = new SqlConnection(conStr); SqlDataAdapter adapter = new SqlDataAdapter("select top 5 OrderId,CustomerID from Orders", con); adapter.Fill(ds, "aaa"); //再通过数据库查询填充 aaa 表 this.gvTest.DataSource = ds.Tables["aaa"]; this.gvTest.DataBind(); //可以观察到gridview中包括自建aaa表中的数据,以及后来查询所得数据
------解决方案--------------------
dataset.Tables.Add("aaa");
dataset.Tables.Add("AAA");
是在DataSet中初始化两个datatable,
adapter.Fill(dataset, "aaa") 这句是把adapter的command命令的Sql语句的结果填充到DataSet中的aaa这个datatable中
------解决方案--------------------
那么为什么dataset.Tables.Add("aaa"); 之后不能BIND gridview,照理说DATASET里面有该表了啊.
这还是个没有行列的空表,当然会出错