データベース テーブルには、通常、テーブル内の各行を一意に識別する列または列のグループがあります。 この識別列または列のグループは、主キーと呼ばれます。
1 つのDataColumnをPrimaryKeyのDataTableとして識別すると、テーブルは列のAllowDBNull プロパティを false に、Unique プロパティを true に自動的に設定します。 複数列の主キーの場合、 AllowDBNull プロパティのみが自動的に false に設定 されます。
の DataTable プロパティは、次の例に示すように、1 つ以上の DataColumn オブジェクトの配列をその値として受け取ります。 最初の例では、1 つの列を主キーとして定義します。
workTable.PrimaryKey = New DataColumn() {workTable.Columns("CustID")}
' Or
Dim columns(1) As DataColumn
columns(0) = workTable.Columns("CustID")
workTable.PrimaryKey = columns
workTable.PrimaryKey = new DataColumn[] {workTable.Columns["CustID"]};
// Or
DataColumn[] columns = new DataColumn[1];
columns[0] = workTable.Columns["CustID"];
workTable.PrimaryKey = columns;
次の例では、2 つの列を主キーとして定義します。
workTable.PrimaryKey = New DataColumn() {workTable.Columns("CustLName"), _
workTable.Columns("CustFName")}
' Or
Dim keyColumn(2) As DataColumn
keyColumn(0) = workTable.Columns("CustLName")
keyColumn(1) = workTable.Columns("CustFName")
workTable.PrimaryKey = keyColumn
workTable.PrimaryKey = new DataColumn[] {workTable.Columns["CustLName"],
workTable.Columns["CustFName"]};
// Or
DataColumn[] keyColumn = new DataColumn[2];
keyColumn[0] = workTable.Columns["CustLName"];
keyColumn[1] = workTable.Columns["CustFName"];
workTable.PrimaryKey = keyColumn;