日期:2014-05-18 浏览次数:20932 次
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里面有该表了啊.
这还是个没有行列的空表,当然会出错