2.DataSet 及DataTable均存在与内存
3.DataSet中的DataTable可以只有一个,也可以有多个,多个之间可以有关系也可以没有关系相互独立;
4.DataTable可以通过dataSet1.Tables.Add加入到DataSet中,但此DataTable必须通过copy的方式加入,如:
DataTable dt1=new DataTable()
DataSet ds=new DataSet()
ds.Tables.Add(dt1)//错误
ds.Tables.Add(dt1.Copy())//正确
5.SqlDataAdapter可以填充DataSet也可以填充DataTable,根据实际需要,如sql查询的是返回多个记录集则用DataSet,单个记录集用DataSet和DataTable均可,只是通过dataSet1.Tables[0]转DataTable。
6.DataTable可以设置pk,DataSet中的Table可以设置relation
我用的一直都是FineReport,它比较方便,不过既然楼主问的是fastreport,这里我就不谈FineReport了。要创建fastreport的主从报表,需要建立两个数据集。一个是主表的数据集,另外一个是一个明细表的数据集;根据下面的截图来创建fastreport报表。首先,运行报表设计器,创建一个空白报表。为了添加一个明细的数据集,需要调用 "Configure Bands" 窗口。点击 "Configure Bands" 按钮便可实现调用,如图所示,也可以通过"Report|Configure Bands..." 菜单项来调用"Configure Bands"窗口。配置窗口中展示了数据集结构:选择"Data" 数据集,如图所示,单击鼠标右键以显示上下文菜单,并选择”data“band,接下来,嵌套数据便被添加到所选择的数据集中。按“close”按钮关闭窗口。你会发现报表模版便成下面的样子;将band与相应的数据源连接,并将数据列置于bands上。我们将使用两个数据源:分类和产品。运行报表通过这种方法,你可以创建一个带有无线嵌套数据的主从报表类型。DataSet是ADO.NET开发人员为方便数据处理开发出来的,是数据的集合,是为解决DataReader的缺陷设计的,DataReader数据处理速度快,但它是只读的, 而且一旦移到下一行,就不能查看上一行的数据,DataSet则可以自由移动指针。DataSet的数据是与数据库断开的。DataSet还可用于多层应用程序中,如果应用程序运行在中间层的业务对象中来访问数据库,则业务对象需将脱机数据结构传递给客户应用程序。DataSet的功能:浏览、排序、搜索、过滤、处理分级数据、缓存更改等。还可以与XML数据互换。DataSet中可包括多个DataTable,可将多个查询结构存到一个DataSet中,方便 *** 作,而DataTable中又包括多个DataRow、DataColumn,可通过这些DataRow、DataColumn来查看、 *** 作其中的数据,而需将 *** 作结果返回给数据库的话,则可以调用DataAdapter的Update方法。
DataSet的 *** 作:
DataSet ds=new DataSet()
DataTable dt=new DataTable("newTable")
ds.Tables.Add(dt)
DataSet ds=new DataSet()
DataTable dt=ds.Tables.Add("newTable")
上述两种方法都可以在DataSet中添加一个DataTable,看需要而进行选择。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)