上述代碼向DataSet中的DataTable中添加名為”newColumn”,類型為int且不為空,最大長度為4和唯一性為真的列。
dt.PrimaryKey=new DataColumn[]{dt.Columns["ID"]}
這段代碼是繼續上面代碼的,為一個DataTable中添加一個主鍵列,主鍵列是一個數據組,如有多個主鍵,只需在數組中添加一個列即可。如下:
dt.PrimaryKey=new DataColumns[]{dt.Columns["OrderID"],dt.Columns["ProductID"]}
添加外鍵:
ForeignKeyConstraint fk;
fk=new ForeignKeyConstraint(ds.Tables["Customers"].Columns["CustomerID"],ds.Tables["Orders"].Columns["CustomerID"]);
ds.Tables["Orders"].Constraints.Add(fk);
//上述代碼假如已經為Cusomers表和Orders創建了主鍵,
此句為添加外鍵約束。
上述是根據Customers表和Orders表的CustomerID來創建約束。
下面介紹修改DataRow中的內容:
DataRow dr=ds.Tables["Customer"].Rows.Find("ANTON");
if(dr==null)
else
{
dr.BeginEdit();
dr["CompanyName"]="newValue";
dr["ContactName"]="newValue2";
dr.EndEdit();
}
//
上面代碼通過Row集合的Find方法來在DataTable中的行進行定位,找到"ANTON"行,再修改"ANTON"行中CompanyName列和ContactName列的值。通過BeginEdit和EndEdit來緩存對行的修改,還可調用 CancelEdit為取消修改。
判斷某列是否為空值:
DataRow dr=ds.Tables["Customers"].Rows.Find("aaa");
if(dr.IsNull("ContactName");
..
else
dr["ContactName"]=DBNull.Value
//
這裡判斷ContactName列是否為空,如果不是則為其賦空值,呵,很無厘頭的做法,這裡只為演示為列賦空值的做法。