强类型DataSet
编写访问强类型的DataSet数据的代码比编写非类型的DataSet的代码要容易的多,
//DataSet1为强类型DataSet
DataSet1 ds=new DataSet1(); //DataSet1在此处为类
DataSet1.CustomersTable tb=ds.Customers;
DataSet1.CustomersRow row=tb.NewCustomersRow();
row.CustomerID="001";
row.CompanyName="Microsoft";
row.Phone="010123456";
tb.AddCustomersRow(row); //tb.AddCustomersRow();是可以重载的,接受object(即个row的属性)
//取代
DataRow row=tb.newRow();
row["CustomerID"]="001";
row["CompanyName"]="Microsoft";
row["Phone"]="010123456";
tb.Rows.Add(row);
//tb.Rows.Add();也是重载的,接受object(即row的集合).
查找
强类型DataSet的每一个DataTable类都公开了自己的Find方法
row=tb.FindCustomersIDandOrdersID(001,220); //CustomersIDandOrdersID
编辑行
强类型DataSet的行编辑功能与非类型DataSet相似,方法有BeginEdit(),EndEdit(),和CancleEdit()
但重要的是我们可以使用强类型DataRow的属性直接访问.
row.CustomersID="001";
//取代
row.BeginEdit();
row["CustomersID"]="001";
row.EndEdit();
处理空数据
1.校验是否包含空值(IsNull)
2.设置列值为空(System.Convert.DBNull)
DataSet1 ds=new DataSet1()
DataSet1.CustomersRow row=ds.Customers[0];
if(row.IsContactNameNull()) //校验空值ContactName
//IsNull
else
row.SetContactNameNull(); //设定空值ContactName
//取代
if(row.IsNull("ContactName"))
//IsNull
else
row["ContactName"]=Convert.DBNull;