1
1、处理脱机数据,在多层应用程序中很有用。
2
2、可以在任何时候查看DataSet中任意行的内容,允许修改查询结果的方法。
3
4
3、处理分级数据
5
6
4、缓存更改
7
8
5、XML的完整性:DataSet对象和XML文档几乎是可互换的。
9
10
二、使用介绍
11
12
1、创建DataSet对象:DataSet ds = new DataSet("DataSetName");
13
14
2、查看调用SqlDataAdapter.Fill创建的结构
15
16
da.Fill(ds,"Orders");
17
18
DataTable tbl = ds.Table[0];
19
20
foreach(DataColumn col in tbl.Columns)
21
22
Console.WriteLine(col.ColumnName);
23
24
3、查看SqlDataAdapter返回的数据
25
26
①、DataRow对象
27
28
DataTable tbl = ds.Table[0];
29
30
DataRow row = tbl.Row[0];
31
32
Console.WriteLine(ros["OrderID"]);
33
34
②、检查存储在DataRow中的数据
35
36
DataTable tbl = row.Table;
37
38
foreach(DataColumn col in tbl.Columns)
39
40
Console.WriteLine(row[col]);
41
42
③、检查DatTable中的DataRow对象
43
44
foreach(DataRow row in tbl.Rows)
45
46
DisplayRow(row);
47
48
4、校验DataSet中的数据
49
50
①、校验DataColumn的属性:ReadOnly,AllowDBNull,MaxLength,Unique
51
52
②、DataTable对象的Constrains集合:UiqueConstraints,Primarykey,ForeignkeyConstraints
53
54
通常不必刻意去创建ForeignkeyConstraints,因为当在DataSet的两个DataTable对象之间创建关系时会创建一个。
55
56
③、用SqlDataAdapter.Fill模式来检索模式信息
57
58
5、编写代码创建DataTable对象
59
60
①、创建DataTable对象:DataTable tbl = new DataTable("TableName");
61
62
②、将DataTable添加到DataSet对象的Table集合
63
64
DataSet ds = new DataSet();
65
66
DataTable tbl = new DataTable("Customers");
67
68
ds.Tables.Add(tbl);
69
70
71
72
DataSet ds = new DataSet();
73
74
DataTable tbl = ds.Tables.Add("Customers");
75
76
DataTable对象只能存在于至多一个DataSet对象中。如果希望将DataTable添加到多个DataSet中,就必须使用Copy方法或Clone方法。Copy方法创建一个与原DataTable结构相同并且包含相同行的新DataTable;Clone方法创建一个与原DataTable结构相同,但没有包含任何行的新DataTable。
77
78
③、为DataTable添加列
79
80
DataTable tbl = ds.Tables.Add("Orders");
81
82
DataColumn col =tbl.Columns.Add("OrderID",typeof(int));
83
84
col.AllowDBNull = false;
85
86
col.MaxLength = 5;
87
88
col.Unique = true;
89
90
这里判断ContactName列是否为空,如果不是则为其赋空值,呵,很无厘头的做法,这里只为演示为列赋空值的做法。
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90