首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

DataSet小疑点请问一下

2012-01-29 
DataSet小问题请教一下.DataSet dataset new DataSet()dataset.Tables.Add(aaa)dataset.Tables.Add(

DataSet小问题请教一下.
DataSet dataset = new DataSet();
 dataset.Tables.Add("aaa");
 dataset.Tables.Add("AAA");
 adapter.Fill(dataset, "aaa"); // Fills "aaa", which already exists in the DataSet.
 

这是摘自MSDN里的.我想问下adapter.Fill(dataset, "aaa"); 既然有了dataset.Tables.Add("aaa");为什么还要adapter.Fill(dataset, "aaa"); 它们的区别是什么.

[解决办法]
dataset 里有两个表'AAA','aaa'

Fill(dataset, "aaa"); 指定向'aaa'表填充数据
[解决办法]
fill是将数据填充到dataset
[解决办法]
如果ds中已经有该表,fill就是补充数据,给你个demo

C# code
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里面有该表了啊.

这还是个没有行列的空表,当然会出错

热点排行